Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwarka, waga w mysql
sajborg
post 26.09.2005, 23:39:36
Post #1





Grupa: Zarejestrowani
Postów: 271
Pomógł: 0
Dołączył: 20.08.2003
Skąd: Szczecinek

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


Witam mam taki skrypcik ktory mi szuka w bazie podanych słów w wyszukiwarce. Tylko mam problem Jak dam wszedzie AND to we wszystkich tabelach musi byc to slowo. Jak beda dwa słowa to we wszystkich tabelach musza byc te slowa. Jesli bedzie OR to tylko w jeden tabeli musi byc to slowo jak beda dwa słowa to tak samo tylko w jeden tabeli musi wystapic jedno slowo a jak zrobic takie cos. Ktos podaje dwa słowa i te dwa słowa musza wystapic w conajmniej jeden tabeli czy jest to wykonalne questionmark.gif

Moj skrypcik
  1. <?php
  2. function where ($fraza,$tabele){
  3.  
  4. $fraza=str_replace("+"," ",$fraza);
  5. if (preg_match('/(.*?)"(.*?)"(.*)/i',$fraza,$wynik)){
  6.  
  7. for($i=1;$i<count($wynik);$i++){
  8.  
  9. if (!empty($wynik[$i])){
  10. for($n=0;$n<count($tabele);$n++){
  11.  
  12. $word=str_replace('"','',$wynik[$i]);
  13. $where .= $tabele[$n]."LIKE '%".$word."%' OR ";
  14.  
  15. }
  16. }
  17.  
  18. }
  19.  
  20. }else{
  21. if (preg_match('/[a-z0-9] [a-z0-9]+/i',$fraza)){
  22. $fraza=explode(' ',$fraza);
  23. for($i=0;$i<count($fraza);$i++){
  24.  
  25. for($n=0;$n<count($tabele);$n++){
  26.  
  27. $where .= $tabele[$n]." LIKE '%".$fraza[$i]."%' OR ";
  28.  
  29. }
  30.  
  31. }
  32. }else{
  33. for($n=0;$n<count($tabele);$n++){
  34.  
  35. $where .= $tabele[$n]." LIKE '%".$fraza."%' OR ";
  36.  
  37. }
  38. }
  39. }
  40.  
  41. $where=substr($where, 0, -4); 
  42. return $where;
  43. }
  44.  
  45. $tabela[]='www';
  46. $tabela[]='opis';
  47. $tabela[]='keywords';
  48. $tabela[]='tresc';
  49. $sql="SELECT * FROM szukarka WHERE ".where($str,$tabela)." ORDER by id DESC";
  50. ?>


A przy okazji czy mozna zrobic jakies uszeregowanie wedlog tego ile bylo trafnych warunków questionmark.gif

Ten post edytował paweb 26.09.2005, 23:53:41


--------------------
Warsztat: gPHPEdit | Linux 2.6.17-11-generic (Ubuntu)
Sprzęt: Noteook BenQ A33E
___________________________________________________
Go to the top of the page
+Quote Post

Posty w temacie
- paweb   Wyszukiwarka   26.09.2005, 23:39:36
- - legorek   Zainteresuj się, FULL TEXT. Poszukaj też na forum ...   28.09.2005, 17:00:22


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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 05:30