[MySQL] Wyszukiwanie w bazie - problem z zapytaniem


(niesuszek) #1

Witam. Mój problem polega na tym, że chcę dodać opcję wyszukiwania klientów z bazy wg kilku kryteriów, ale moje zapytanie nie działa w pełni funkcjonalnie.

$imie_ = mysql_real_escape_string($_POST['imie']);
$nazwisko_ = mysql_real_escape_string($_POST['nazwisko']);
$marka_samochodu_ = mysql_real_escape_string($_POST['marka_samochodu']);
$usterka_ = mysql_real_escape_string($_POST['usterka']);
$wyswietl = mysql_query("SELECT * FROM klient WHERE imie LIKE '%$imie_%' OR nazwisko LIKE '%nazwisko_%' OR marka_samochodu LIKE '%marka_samochodu_%' OR usterka LIKE '%usterka_%'") or
                        die ("Błąd w zapytaniu do bazy danych");

Jeżeli szukam wg imienia zapytanie DZIAŁA.

Jeżeli szukam wg imienia i nazwiska zapytanie DZIAŁA.

Jeżeli szukam wg nazwiska zapytanie NIE DZIAŁA.

 

Proszę o pomoc.


(ra-v) #2

Byś miał dobry edytor to byś widział kiks :wink:

http://www.hftp.cba.pl/mysql.jpg.html

$wyswietl = mysql_query("SELECT * FROM klient WHERE imie LIKE '%$imie_%' OR nazwisko LIKE '%$nazwisko_%' OR marka_samochodu LIKE '%$marka_samochodu_%' OR usterka LIKE '%$usterka_%'") or
                        die ("Błąd w zapytaniu do bazy danych");

(niesuszek) #3

Dzięki wielkie, niedopatrzenie :slight_smile:

Dodane

Próbuję inaczej teraz napisać zapytanie i pojawiają się kolejne problemy. W czym problem?

echo '<form method="POST">';
echo 'Szukaj na podstawie:<br>';
echo '<select name="podstawaszukania">';
echo '<option value="imie">Imie';
echo '<option value="nazwisko">Nazwisko';
echo '<option value="marka_samochodu">Marka samochodu';
echo '<option value="usterka">Usterka';
echo '</select><br><br>';
echo '<input name="haslo" type=text> <br>';
echo '<input type="submit" value="Szukaj"/>';
echo '</form>';	
					
$podstawaszukania = mysql_real_escape_string($_POST['podstawaszukania']);
$haslo = mysql_real_escape_string($_POST['haslo']);
$wyswietl = mysql_query("SELECT * FROM klient WHERE '".$podstawaszukania."' = '".$haslo."'") or 
	die ("Błąd w zapytaniu do bazy danych");

(ra-v) #4
$wyswietl = mysql_query("SELECT * FROM klient WHERE `".$podstawaszukania."` = '".$haslo."'") or 
	die ("Błąd w zapytaniu do bazy danych");

pole = ‘ograniczenie’ 

zamiast

‘pole’ = ‘ograniczenie’


(niesuszek) #5

Dziękuje za pomoc :slight_smile: