Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Własna wyszukiwarka
-Dzydz-
post
Post #1





Goście







Witam.

Gonią mnie terminy więc postanowiłem już nie czekać dłużej tylko poprosić kogoś o pomoc. :]
A więc mam problem z własną wyszukiwarką polegający na tym, że wyświetla mi on wszystkie pola w tablicy w której jest szukane zapytanie bez różnicy jakie słowo wpisaliśmy w wyszukiwarce.
Niżej zamieszczam kod i proszę o jakąś radę choćby najmniejszą jak znaleźć ten błąd .

  1. <?php
  2. <form action="search.php" method="post">
  3. <input type="text" name="search" />
  4. <input type="submit" value="Szukaj!" />
  5. </form>';
  6.  
  7. $base=mysql_connect('serwer','terwe','haslo','terwe');
  8. mysql_select_db("terwe", $base);
  9.  
  10. $wyniki=explode(" ",$search);
  11. $warunki=" (`user_name` LIKE '%$wyniki[0]%' Or `user_surname` LIKE '%$wyniki[0]%' )";
  12.  
  13. for ($i=1;$i<count($wyniki);$i++)
  14. {
  15. $warunki.=" and (`user_name` LIKE '%$wyniki[$i]%' Or `user_surname` LIKE '%$wyniki[$i]%' )";
  16. }
  17.  
  18. $query="SELECT * FROM `users` WHERE $warunki ";
  19. $result = MYSQL_QUERY($query,$base) or die(mysql_error());
  20.  
  21. $obAmount=mysql_num_rows($result);
  22.  
  23. // wyswietlenie ilości wyszukanych obiektów
  24. echo'Znaleziono: '.$obAmount.'<br /><br />';
  25. // wyświetlenie wyników w pętli
  26. for($x=0;$x<$obAmount;$x++)
  27. {
  28. // przekształcenie danych na tablicę
  29. $row=mysql_fetch_assoc($result);
  30.  
  31. echo $x+1;
  32. echo '. ';
  33.  
  34. echo '<a href="profile.php?id='.$row['user_id'].'">'.$row['user_name'].' </a>';
  35. echo '<a href="profile.php?id='.$row['user_id'].'">'.$row['user_surname'].' </a>';
  36.  
  37. }
  38.  
  39. // zamknięcie połączenia
  40. mysql_close($base);
  41.  
  42. ?>


Pozdrawiam.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A patrzyles w ogole czy zapytanie ci sie tworzy jak powinno?(IMG:style_emoticons/default/questionmark.gif)

$query="SELECT * FROM `users` WHERE $warunki ";
var_dump($query);

I nagle wszystko staje sie jasne....
Go to the top of the page
+Quote Post
-Dzydz-
post
Post #3





Goście







Ale ja wiem że zapytanie mi się tworzy nie tak jak powinno tylko właśnie co jest tego przyczyną.

Po sprawdzeniu tym który mi zaproponowałeś wyskakuje mi

"string(82) "SELECT * FROM `users` WHERE (`user_name` LIKE '%%' Or `user_surname` LIKE '%%'" - Zawsze to samo nie zależnie co wpisze.

Czyli oznacza to, że skrypt nie widzi wpisanego hasła w tym wypadku "$wyniki[$i]". Tylko właśnie nie wiem dlaczego.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$search jest puste.... okreslasz gdzies $search?? Nie, nie okreslasz.
Dane z forma nalezy pobierac z tablicy $_POST - ty tego nie robisz. Jak ty chcesz to zaliczenie zrobic jak nie znasz totalnych podstaw?
Go to the top of the page
+Quote Post
buliq
post
Post #5





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


A może tak gdybyś zamienił "$wyniki[0]" na "{$wyniki[0]}" itd. ?
Go to the top of the page
+Quote Post
-Dzydz-
post
Post #6





Goście







Ehh.. Ależ mi głupio. Wszystko przez to że nie napisałem głupiego $search = $_POST['search']; .
A ja się cały wieczór i poranek się męczyłem...
Nie dziwie się Twojej frustracji. Ale na szczęście te terminy to nie zaliczenie :]

Dzięki wielkie za pomoc i pozdrawiam. Temat do zamknięcia.
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Na przyszlosc wlacz wyswietlanie wszystkich bledow. Wowczas takie bledy znjadziesz w 10 sekund a nie w caly wieczor + forum

ps: buliq ty tez zajrzyj do podstaw bo zapis jest poprawny (IMG:style_emoticons/default/wink.gif)

ps2: frustracja? Nie do konca. Poprostu strasznie drazni mnie jak ludzie zamiast sprawdzic co zawieraja zmiennej na ktorych pracuja to wolą leciec na forum. Jakbys po sprawdzal wszysto po kolei to tez bys problem mial rozwiazany w minute.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.09.2025 - 16:15