Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Wyszukiwarka PHP MySQL. Proszę o ocenę skryptu
Michalo1994
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 3.02.2009

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


Witajcie. W ramach nauki php postanowiłem napisać wyszukiwarkę php, która łączy się z bazą i wyszukuje podane przez użytkownika frazy.
Użyłem funkcji str_replace aby pousuwać przecinki, explode aby rozdzielić wyrazy i "wsadzić" do tablicy.
Wyszukiwarka działa i zwraca poprawne wyniki. Proszę o ocenę. Czy skrypt jest funkcjonalny? Do czego mozna się przyczepić?
DZiękuję!
  1. <?php
  2. $user_search = $_GET['usersearch'];
  3. $dbc=mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
  4.  
  5. $bez_przecinkow = str_replace(',', ' ' , $user_search);
  6. $tylko_slowa = explode(' ' , $bez_przecinkow);
  7. $koncowe_slowa = array();
  8. if (count($tylko_slowa) > 0 ){
  9. foreach($tylko_slowa as $slowa){
  10. if (!empty($slowa)){
  11. $koncowe_slowa[] = $slowa;
  12. }
  13. }
  14. }
  15.  
  16. $lista = array();
  17. foreach($koncowe_slowa as $slowa){
  18. $lista[] = "description LIKE '%$slowa%'";
  19. }
  20. $komenda = implode(' OR ', $lista);
  21. $query= "SELECT * FROM prace WHERE $komenda";
  22.  
  23. $data= mysqli_query($dbc,$query);
  24. while($row=mysqli_fetch_array($data)){
  25. echo $row['title'] . '<br>' ;
  26. }
  27.  
  28.  
  29. ?>


Ten post edytował Michalo1994 7.09.2013, 20:21:45
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


1. LIKE + OR... Oj, to trochę potrwa...
2. Zamiast LIKE na takim polu (pewnie text) lepiej użyć FTS (Full Text Search).
3. Na pewno chcesz OR? Nie AND?
OR powiększa podzbiór wynikowy, AND pomniejsza go.
4. A co, gdy wejsce będzie puste?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 10:32