Witajcie!
Mam skrypt (poniżej) wyszukiwarki. Wyszukiwarka ma szukać danych z dwóch tabel.
Skrypt zachowuje się poprawnie (zgodnie z oczekiwaniami) jeśli przeszukuję tylko jedną tabelę. Przy moich wielokrotnych próbach dodania do zapytania drugiej tabeli albo wyświetla mi : "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /search2.php on line 83" albo nie wyszukuje niczego, albo wyświetla zawartość wszystkich pól tabel (klienci i detale).
echo'<form action="search2.php" method="post">'; echo "<br>wpisz miasto <br>"; echo'<input type="text" name="miasto" id="miasto" value="">'; echo "<br>wpisz imie <br>"; echo'<input type="text" name="imie" id="imie" value=""><br/>'; echo "<br>wpisz materialy <br>"; echo'<input type="text" name="materialy" id="materialy" value=""><br/>';
echo'<input type="submit" name="znajdz" value="znajdz"><br/>'; echo'<input type="reset" value="wyczyść">';
if(isset($_POST['znajdz'])) {
$miasto = $_POST['miasto'];
$imie = $_POST['imie'];
$materialy = $_POST['materialy'];
if (!empty($_POST['miasto'])) $wh[] = "miasto = '$_POST[miasto]'";
if (!empty($_POST['imie'])) $wh[] = "imie = '$_POST[imie]'";
if (!empty($_POST['materialy'])) $wh[] = "materialy = '$_POST[materialy]'";
$where = 'where '.implode(' and ', $wh); else
$where = '';
$zapytanie = 'SELECT klienci.klient_id, klienci.imie, klienci.nazwisko, klienci.miasto, details.klient_id, details.materialy FROM klienci, details WHERE klienci.klient_id = details.klient_id AND '.$where;
echo "<td> miasto </td>"; echo "<td> nazwisko </td>"; echo "<td> materialy </td>"; {
echo "<td>{$row['miasto']}</td>"; echo "<td>{$row['imie']}</td>"; echo "<td>{$row['nazwisko']}</td>"; echo "<td>{$row['materialy']}</td>"; }
}
Proszę o sugestie jak powinno wyglądać to nieszczęsne zapytanie, a może wogóle w całym kodzie coś pokręciłam.