Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwarka, waga w mysql
sajborg
post
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
 
Start new topic
Odpowiedzi (1 - 1)
legorek
post
Post #2





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


Zainteresuj się, FULL TEXT. Poszukaj też na forum bo było, znajdziesz za równo opinie przeciwników i zwolenników.


--------------------
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: 21.08.2025 - 19:16