Cytat(jasin @ 30.11.2009, 17:48:42 )

a więc jak widać masz tu błąd w zapytaniu. Powinno wyglądać:
$zapytanie = 'SELECT klienci.klient_id,klienci.imie,klienci.nazwisko,klienci.miasto,details.klient_id
, details.materialy FROM klienci LEFT OUTER JOIN details ON(klienci.klient_id = details.klient_id) '.$where;
No tak, poprawiłam zapytanie. Teraz po zapytaniu do bazy przez phpmyadmin zwraca mi piękny zielony znaczek

, ale po wykonaniu zapytania na stronie nie zwraca wyników.
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 LEFT OUTER JOIN details ON(klienci.klient_id = details.klient_id) '.$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>"; }
}
tzn, jeśli wpisze tylko miasto i imię jest OK , zwraca tak, jak być powinno czyli miasto, imie, nazwisko, materialy.
Ale jeśli uzupełnię również trzecie pole materialy (z tabeli details) to nie wyświetla niczego
Problem rozwiązany.
Nie wyświetlało wyników na stronie, ponieważ w polu 'materialy' nie było pojedynczych słów jak w pozostałych polach, a mogły się znaleść również ciągi znaków oddzielone spacjami, lub przecinkami. Zamieniłam
$wh[] = "materialy = '$_POST[materialy]'";
na
$wh[] = "materialy LIKE '%$materialy%'";
Zapytanie pozostało bez zmian.
Wszystko śmiga aż miło.
Wielkie dzięki za pomoc.