Zapytanie do bazy i pobranie danych z formularza. |
Zapytanie do bazy i pobranie danych z formularza. |
28.08.2017, 09:48:35
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 20.07.2017 Ostrzeżenie: (0%) |
Witajcie,
Chciałbym aby dane pobierane z formularza PHP zostały wykorzystane do wyszukania odpowiednich rekordów w bazie. Fragment kodu wygląda następująco: Kod if (!empty($_POST)) { $miesiac=$_POST['miesiac']; $rok=$_POST['rok']; echo"<b><font size='+2'><h1>Statistic for $miesiac - $rok</h1></font></b>"; ?> <table id="newspaper-a" border="1" width="100%"> <tr> <td bgcolor=\"ffff00\">The amount of all requests</td> <?php $zapytanie = "SELECT sum(ilosc) as ile FROM `zamowienie` WHERE `data_zlecenia` >= data_zakonczenia_badania ='$rok' AND data_zakonczenia_badania='$miesiac' && `status`='4' && `termin_zakonczenia`>`data_zakonczenia_badania`"; $sql_query = mysql_query($zapytanie); $dane = mysql_fetch_array($sql_query); if($dane[0]==NULL) { echo"<td bgcolor=\'ffff00\'><font size='+1'><b>0</b></font></td>"; $liczba_all=0; } else { echo"<td bgcolor=\'ffff00\'><font size='+1'><b>$dane[0]</b></font></td>"; $liczba_all=$dane[0]; } } ?> |
|
|
28.08.2017, 09:55:23
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Najpierw sobie odpowiedź na pytanie co to za bzdury `data_zlecenia` >= data_zakonczenia_badania ='$rok'
https://dev.mysql.com/doc/refman/5.7/en/dat...-functions.html Pewnie ci chodzi o year() -------------------- |
|
|
28.08.2017, 10:07:47
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 20.07.2017 Ostrzeżenie: (0%) |
Kod $zapytanie = "select sum(ilosc) as ile from `zamowienie` where `data_zlecenia` >= year(data_zakonczenia_badania)='$rok' AND month(data_zakonczenia_badania)='$miesiac' && `status`='4' && `termin_zakonczenia`>`data_zakonczenia_badania` "; Próbowalem to tak sklepać ale również 0 efektu... |
|
|
28.08.2017, 10:11:28
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
nie && tylko AND.
|
|
|
28.08.2017, 10:18:12
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Na początek zastanów się co chcesz wybrać a nie na ślepo wbijasz jakieś losowe warunki. Nam też możesz opisać bo nie czytamy w myślach.
-------------------- |
|
|
28.08.2017, 10:26:18
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 20.07.2017 Ostrzeżenie: (0%) |
Mam formularz, w którym wybieramy miesiąc
Kod echo"<form action='test.php' method='post'>"; echo"<p>"; echo"<b>Month: </b>"; echo"<select name='miesiac' size='1'>"; echo"<option></option>"; echo"<option value='1'>January</option>"; echo"<option value='2'>February</option>"; echo"<option value='3'>March</option>"; echo"<option value='4'>April</option>"; echo"<option value='5'>May</option>"; echo"<option value='6'>June</option>"; echo"<option value='7'>July</option>"; echo"<option value='8'>August</option>"; echo"<option value='9'>September</option>"; echo"<option value='10'>October</option>"; echo"<option value='11'>November</option>"; echo"<option value='12'>December</option>"; echo"</select>"; echo"<b>Year: </b>"; echo"<select name='rok' size='1'>"; echo"<option></option>"; for($i=2014;$i<=date('Y');$i++) Chciałbym aby po wybraniu odpowiedniego miesiąca i roku wyszukiwano w bazie danych rekordy. Ogólnie zależy mi na sformułowaniu stwierdzenia, który pobierze z formularza dane w tym wypadku miesiąc i rok. Te dane przekazywane będą do bazy danych i ona sumuje badania, które zostały wykonane w terminie. Muszę zrobić to samo dla badań które nie są wykonane w terminie. |
|
|
28.08.2017, 10:34:37
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
A te daty w bazie to pola date? Skoro chcesz wyszukać rok równy temu podanemu w formularzu to bierzesz year(pole z bazy) = ?, gdzie ? to rok z formularza. O prepared statements już ci mówiłem wcześniej. A nie x >= y = z.
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 06:53 |