Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Prosta wyszukiwarka z bazy mysql, Przeszukiwanie zasobów bazy banych mysql
fx57
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 4.08.2008

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



Witam.

Mam małą prośbę odnośnie takiego skryptu:

Chcę zrobić zapytanie do bazy żeby system wyszukał mi dany rekord. Zapytanie odnosi się do całej tabeli a w niej znajdują się 3 kolumny. I teraz właśnie konieczne jest zapytanie złożone w postaci kilku wyrazów.
Następnie wypisanie wierszy rekordów do których by pasowało zapytanie.

Proszę o pomoc


-------------------------------------------------------------------------------------------------------------
  1. <?
  2. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  3.  
  4. and mysql_select_db($sql_baza)) {
  5. mysql_query("INSERT INTO $sql_tabela SET $sql_baza]}'");
  6. $wynik = mysql_query("SELECT * FROM $sql_tabela WHERE temat='*Problem*1*' ");
  7. $result = MYSQL_QUERY($query);
  8.  
  9. if ($wynik) {
  10. echo "<tr> <td colspan= 7 class=\"linia1\">Lista tematów w Bazie :</td></tr>";
  11.  
  12. echo"<tr> <td class=\"linia3\" width=\"30\">Numer ID tematu</td>
  13. <td class=\"linia3\" width=\"150\">Temat</td>
  14. <td class=\"linia3\" width=\"30\">Autor</td>
  15. <td class=\"linia3\" width=\"30\">Opcja</td> </tr>";
  16. while($dane=mysql_fetch_assoc($wynik)) {
  17.  
  18. if (++$i>1) echo "<tr>";
  19.  
  20. echo "
  21.  
  22. <td class=\"linia2\">ID tematu : {$dane[id]}</td>
  23. <td class=\"linia2\">{$dane[temat]}</td>
  24. <td class=\"linia2\">{$dane[autor]}</td>
  25. <td class=\"linia2\">
  26. <form action=\"look.php\" method=\"GET\">
  27. <input type=hidden name=\"id\" value=\"$dane[id]\">
  28. <input type=hidden name=\"temat\" value=\"$dane[temat]\">
  29. <input type=hidden name=\"problem\" value=\"$dane[opis_problemu]\">
  30. <input type=hidden name=\"rozwiazanie\" value=\"$dane[opis_rozwiazania]\">
  31. <input type=hidden name=\"autor\" value=\"$dane[autor]\">
  32. <input type=hidden name=\"kontakt\" value=\"$dane[kontakt]\">
  33. <input type=submit value=\"Pokaż\"/>
  34. </form></a>
  35. </td>
  36. </tr>";
  37.  
  38. }
  39. }
  40. }
  41. ?>
Go to the top of the page
+Quote Post
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


poczytaj o % LIKE % , WHERE, i OR / AND (IMG:style_emoticons/default/winksmiley.jpg)

najlepiej na webmade tam był chyba fajny tutorial z którego się uczyłem (IMG:style_emoticons/default/winksmiley.jpg) był nawet temat robimy prostą wyszukiwarkę ;D
Go to the top of the page
+Quote Post
marian2299
post
Post #3





Grupa: Zarejestrowani
Postów: 272
Pomógł: 9
Dołączył: 6.06.2009

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


Taka rada... zamiast zamieniać " na \" w kodzie html echo zaczynaj tak: echo ' HTML ';
Go to the top of the page
+Quote Post
fx57
post
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 4.08.2008

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


Cytat(marian2299 @ 16.08.2009, 17:14:08 ) *
Taka rada... zamiast zamieniać " na \" w kodzie html echo zaczynaj tak: echo ' HTML ';


dzieki za rade a może uzasadnisz ją dlaczego?

Cytat(Pawel_W @ 16.08.2009, 17:10:04 ) *
poczytaj o % LIKE % , WHERE, i OR / AND (IMG:style_emoticons/default/winksmiley.jpg)

najlepiej na webmade tam był chyba fajny tutorial z którego się uczyłem (IMG:style_emoticons/default/winksmiley.jpg) był nawet temat robimy prostą wyszukiwarkę ;D


dzieki wielkie za rade ale nic tam nie znalazłem... :-(

Pozdrawiam

Ten post edytował fx57 17.08.2009, 22:38:25
Go to the top of the page
+Quote Post
Andaramuxo
post
Post #5





Grupa: Zarejestrowani
Postów: 150
Pomógł: 15
Dołączył: 18.03.2009

Ostrzeżenie: (10%)
X----


Może to Ci pomoże: http://www.webtips.pl/post15745.html
Go to the top of the page
+Quote Post
CyberDuck_
post
Post #6





Grupa: Zarejestrowani
Postów: 135
Pomógł: 15
Dołączył: 17.08.2009

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


Zapytania mozesz sobie tworzyc tak samo w zmiennych jak i
zdania, czesci stron, etc ...
Wiec zbuduj sobie w zmiennej zapytanie :
  1. $zapytanie = "login LIKE '%" .$fraza ."%'";

Wczesniej oczywiscie musisz zadbac zeby np fraza miala nie mniej niz 3 znaki, zeby nie bylo
znakow specjalnych, itd ... to zalezy wylacznie od Ciebie.
Teraz LIKE oznacza jak i to co jest w cudzyslowie.
Jesli podasz przed :
a. %fraza - to poczatek nie ma znaczenia, koniec szukanego zdania musi sie zgadzac
b. %fraza% - szukana czesc moze stac na poczatku, srodku lub koncu
c. fraza% - szukane slowo musi sie zaczyna tak jak fraza, dalsza czesc nie ma znaczenia.
Czyli jesli dla przykladu w bazie masz loginy Tomek, Marek, Kasia, Timek i zadasz pytanie :
LIKE '%mek'
to otrzymasz dwie odpowiedzi :
Tomek i Timek ...
Oczywiscie takie pytania mozesz laczyc :
  1. $zapytanie = "login LIKE '%" .$fraza ."%' AND login LIKE '%" .$fraza2 ."%'";

W tym wypadku baza bedzie przeszukiwana wedlug dwoch slow
i musza one zawierac sie w znalezionych wynikach jednoczesnie.
Jesli postawisz OR to moga wystepowac slowa w wiekszej ilosci rekordow.
Mozesz oczywiscie tez sortowac wyniki wedlu zadanych kryteriow co masz
w ponizzszym przykladzie : ORDER BY data_przyl limit 5

  1. $result = mysql_query("SELECT id, login FROM uzytkownicy WHERE $zapytanie ORDER BY data_przyl limit 5");
  2. while(list($id, $login) = mysql_fetch_row($result)) {
  3. echo "$id - $login<br>";
  4. }
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: 24.08.2025 - 19:58