Witam.
Mam problem z zapamiętywaniem wartości w sesji. Mam formularz z 4 polami, w których wpisuję datę. Następnie robię zapytanie do bazy danych i wyświetlam rekordy w ilości 25 na stronę. Jeśli w/w. 4 pola są puste, to nie ma problemu. Jednak jeśli chociaż jedno z nich posiada jakąkolwiek wartość, to na drugiej podstronie i dalszych podstronach wyświetla się zapytanie, tak jakbym nie wprowadził żadnych danych do formularza.
Oto mój kod:
if(empty($_POST['data_rozp_od']) ) {
$data_rozp_od = '0000-01-01';
$_SESSION['data_rozp_od'] = $data_rozp_od;
}
else
{
$data_rozp_od = '0000-01-01';
$_SESSION['data_rozp_od'] = $_POST['data_rozp_od'];
}
if(empty($_POST['data_rozp_do']) ) {
$data_rozp_do = '9999-12-31';
$_SESSION['data_rozp_do'] = $data_rozp_do;
}
else
{
$data_rozp_do = '9999-12-31';
$_SESSION['data_rozp_do'] = $_POST['data_rozp_do'];
}
if(empty($_POST['data_zak_od']) ) {
$data_zak_od = '0000-01-01';
$_SESSION['data_zak_od'] = $data_zak_od;
}
else
{
$_SESSION['data_zak_od'] = $_POST['data_zak_od'];
}
if(empty($_POST['data_zak_do']) ) {
$data_zak_do = '9999-12-31';
$_SESSION['data_zak_do'] = $data_zak_do;
}
else
{
$data_zak_do = '9999-12-31';
$_SESSION['data_zak_do'] = $_POST['data_zak_do'];
}
oraz zapytanie do bazy danych
if ($strona <= 1)
{
$sql = 'SELECT * FROM `Daty_uczest`, `Uczestnicy`, `Miejscowosc`, `Ulice`, `Program`
WHERE `ID_Ucz` = `Ucz_ID` AND
`ID_Miejsc`= `Miejsce_ID` AND
`Ulica_ID` = `ID_Ulica` AND
`Program_ID` = `ID_Program`
AND `Data_rozp` BETWEEN "'.$_SESSION['data_rozp_od'].'" AND "'.$_SESSION['data_rozp_do'].'" AND
`Data_zakon` BETWEEN "'.$_SESSION['data_zak_od'].'" AND "'.$_SESSION['data_zak_do'].'"
ORDER BY `Nazwisko` ASC LIMIT 0, 25';
}
else
{
$sql = 'SELECT * FROM `Daty_uczest`, `Uczestnicy`, `Miejscowosc`, `Ulice`, `Program`
WHERE `ID_Ucz` = `Ucz_ID` AND
`ID_Miejsc`= `Miejsce_ID` AND
`Ulica_ID` = `ID_Ulica` AND
`Program_ID` = `ID_Program`
AND `Data_rozp` BETWEEN "'.$_SESSION['data_rozp_od'].'" AND "'.$_SESSION['data_rozp_do'].'" AND
`Data_zakon` BETWEEN "'.$_SESSION['data_zak_od'].'" AND "'.$_SESSION['data_zak_do'].'"
ORDER BY `Nazwisko` ASC LIMIT '. (($strona - 1) * 25).', 25';
}
Mam nadzieję, że ktoś ma pomysł, jak to przerobić, aby działało tak, jak powinno.