id_kwatery | nazwa | miejscowosc | ilosc_miejsc
1 | Dom | Łódź | 2
2 | Dom | Łódź | 4
3 | Dom | Łódź | 4
4 | Dom | Łódź | 6
5 | Dom | Łódź | 2
6 | Dom | Łódź | 3
7 | Dom | Łódź | 2
8 | Dom | Łódź | 2
Tabela: rezerwacja
id_rez | id_ogloszenia | data_przyjazdu | data_wyjazdu
1 | 1 | 2011-09-15 | 2011-09-22
2 | 1 | 2011-09-23 | 2011-10-10
3 | 3 | 2011-09-10 | 2011-09-17
4 | 5 | 2011-09-19 | 2011-09-28
$wh = array(); IF (!empty($_POST['miejscowosc'])) $wh[] = "miejscowosc = '$_POST[miejscowosc]' "; IF (!empty($_POST['liczba_osob'])) $wh[] = "ilosc_miejsc >= '$_POST[liczba_osob]' "; IF (!empty($_POST['data_przyjazdu']) || !empty($_POST['data_wyjazdu'])) $wh[] = "(data_przyjazdu NOT BETWEEN '$_POST[data_przyjazdu]' AND '$_POST[data_wyjazdu]') AND (data_wyjazdu NOT BETWEEN '$_POST[data_przyjazdu]' AND '$_POST[data_wyjazdu]') "; IF (!empty($wh)) $where = ' WHERE '.implode(' AND ', $wh); else $where = ''; $sql = 'SELECT * FROM katalog INNER JOIN rezerwacja ON katalog.id_kwatery = rezerwacja.id_ogloszenia '.$where;
Wyszukiwarka:
Miejscowość
Liczba osób
Data przyjazdu
Data wyjazdu
Powinno działać tak, że wyszukuje wszystkie wolne kwatery w danym terminie z wyszukiwarki.
Obecnie jak wyszukam tylko po miejscowości to jeden wynik się dubluje a jak wyszukam też po datach to wyświetla rezerwacje zamiast katalogu.
Co takiego źle robię?