Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.


Użytkownik



Witam wszystkim
Jestem początkującym w php-ie i mam prosty pewnie dla większości problem. Mianowicie:
Mam sobie zapytanie SQL-owe które wyciąga mi jakieś rekordy z bazy danych.
np:
SELECT * FROM TABELA WHERE DATA BETWEEN 2007-01-01 AND 2007-10-10
i tu mi działa wszystko OK, ale chciałbym żeby pojawiał mi się formularz na którym są tylko dwa pola:
data początkowa i data końcowa i abym za pomocą tego formularza wpisał wartość pierwszej daty a potem drugą date a do zapytania były już przekierowane odpowiednie zmienne i ukazywała mi się tabela z danym z wpisanego zakresu. Czyli chciałbym aby powyższe zapytanie mogło być za każdym razem defniowane (pod względem zakresu dat)
z góry dziękuje za informacje
Offline
Użytkownik

Najprościej?
robisz optiona jednego z mnóstwem dat (o ile do tego nie ma jakiejś funkcji), nazywasz go np. option1, drugiego takiego samego, ale nazywasz go option2 i to on będzie datą końcową:
$host = ""; //host bazy
$user = ""; //user
$pass = ""; //hasło do bazy
$dbname = ""; //nazwa bazy danych
$polaczenie = mysql_connect("$host", "$user", "$pass");
mysql_select_db("$dbname");
//jeśli są obie zmienne
if ($_POST[option1] == TRUE && $_POST[option1] == TRUE) {
$data_pocz = $_POST[option1];
$data_kon = $_POST[option2];
//wywołujemy zapytanie
$zap = "SELECT * FROM TABELA WHERE DATA BETWEEN $data_pocz AND $data_kon";
while($wiersz = mysql_fetch_array($zap))
{
echo " ".$wiersz['JAKAŚ DANA Z TABELI']."";
echo " ".$wiersz['JAKAŚ DANA NUMER 2 Z TABELI']."";
}
mysql_close($polaczenie);
}
else
{
echo "<FORM ACTION="" METHOD="post">
Wybierz coś: <SELECT NAME="option1">
<OPTION VALUE="2007-01-01">2007-01-01</OPTION>
<OPTION VALUE="2007-02-01">2007-01-01</OPTION>
<OPTION VALUE="2007-03-01">2007-01-01</OPTION>
</SELECT><br />
<INPUT TYPE="submit" VALUE="Zobacz co wpisałem">
</FORM>";
//Drugi formularz z drugą nazwą option2
}
Myślę, że powinieneś coś kombinować coś w ten kit.
Offline



Administrator




Lepiej zastosować jakiś kalendarzyk do wybierania dat. Polecam http://www.softcomplex.com/products/tigra_calendar/
Beda sobie dwa pola powiedzmy 'data_od' i 'data_do' , wystarczy zczytać z POST-a i do zapytania SQL.
Offline
Użytkownik

+ proponuję zabezpieczyć skrypt przez SQL Injection :)
Offline


Użytkownik



Dziękuje za odpowiedzi :)
Offline