Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] czemu szukarka nie szuka polaczen wyrazow
AndyPSV
post
Post #1





Grupa: Zarejestrowani
Postów: 393
Pomógł: 5
Dołączył: 6.02.2003
Skąd: The.Luciferian.Doctrine.p
df

Ostrzeżenie: (30%)
XX---


CZYLI np. wpisuje: "money earning" i nic nie znajduje, znajduje tylko z pojedynczymi frazami, tu jest wyszukiwarka mozna stestowac: http://path-of-power.com/ (prawy gorny rog)

A SQL wyrazenie, ktore mam wyglada tak:

  1. <?php
  2.  
  3.  
  4. [b]if(empty($_GET[1]) or $_GET[1] == '?search=search') header(LOC.URL); $GET = substr($_GET[1],8);
  5. $q = q('SELECT id,t FROM `'.PRFX.'knowledge` WHERE text LIKE "%'.$GET.'%" or t LIKE "%'.$GET.'%" ORDER BY id DESC'); if(n_r($q) > 0)
  6. while($r = f($q)) { $r['t_'] = _url($r['t']); $r['date'] = substr($r['date'],0,16); $_r[] = $r; } $this->tpl->assign('r',$_r);
  7. [/b]
  8. ?>



p.s. nie trzeba czasem dac pomiedzy " " (spacje) wstawic plus (+) ?
str_replace(" ","+",$GET)?

Ten post edytował AndyPSV 1.04.2010, 15:17:19
Go to the top of the page
+Quote Post
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


poczytaj sobie o wyszukiwaniu pełnotekstowym
Go to the top of the page
+Quote Post
AndyPSV
post
Post #3





Grupa: Zarejestrowani
Postów: 393
Pomógł: 5
Dołączył: 6.02.2003
Skąd: The.Luciferian.Doctrine.p
df

Ostrzeżenie: (30%)
XX---


  1. $q = q('SELECT *, MATCH(t,text) AGAINST ("'.$GET.'") AS score FROM `'.PRFX.'knowledge` WHERE MATCH(t,text) AGAINST ("'.$GET.'") ORDER BY score DESC'); if(n_r($q) > 0)


nie dziala ;/
co zrobic


SQL, line 11 :: Can't find FULLTEXT index matching the column list

zawsze mam to, pomocy


----------


t,text jako fulltext trzeba bylo zrobic




NAPISALEM ARTYKUL o szukaniu: http://path-of-power.com/fulltext-search-sql-fulltext,138

ostatnie pytanie: czemu mi widzi ZAWSZE 2 wyniki?
http://path-of-power.com/search/?search=dsadsadsadsadsa

jak temu zaradzic?

Ten post edytował AndyPSV 1.04.2010, 17:25:44
Go to the top of the page
+Quote Post
tehaha
post
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


żeby wyszukiwanie pełnotekstowe działało to musisz w phpMyAdmin tej kolumnie ustawić fulltext , jak masz tam te ikonki "primary key", unique key to ostatnia jest taka z T , kliknij ją i powinno już działać, aaa teraz doczytałem że już to zrobiłeś....

a pokaż kod jakim to wyświetlasz, bo rzeczywiście trochę dziwne, że cokolwiek wpiszesz to zawsze te 2 wyniki

Ten post edytował tehaha 1.04.2010, 17:40:28
Go to the top of the page
+Quote Post
AndyPSV
post
Post #5





Grupa: Zarejestrowani
Postów: 393
Pomógł: 5
Dołączył: 6.02.2003
Skąd: The.Luciferian.Doctrine.p
df

Ostrzeżenie: (30%)
XX---


  1. <?php
  2.  
  3. class search extends PAGE {
  4. function i() {
  5. if(empty($_GET[1]) or $_GET[1] == '?search=search') header(LOC.URL); $GET = substr($_GET[1],8); $GET = str_replace(" ","+",$GET);
  6. $q = q('SELECT id,t,MATCH(t,text) AGAINST(\'+('.$GET.') IN BOOLEAN MODE\') AS score FROM `'.PRFX.'knowledge` WHERE MATCH(t,text) AGAINST (\'+('.$GET.') IN BOOLEAN MODE\') ORDER BY score DESC'); if(n_r($q) > 0)
  7. while($r = f($q)) { $r['t_'] = _url($r['t']); $r['date'] = substr($r['date'],0,16); $_r[] = $r; } $this->tpl->assign('r',$_r);
  8.  
  9. $this->_t = PG_T.' '.__CLASS__; $this->_c = $this->tpl->fetch(PG_TPL.'_'.N.INX.HTML); $this->run();
  10. }
  11. } $n = 'search'; $C = new $n($n); $C->i();
  12.  
  13. ?>



caly kod,

chodzi tylko o to: $q = q('SELECT id,t,MATCH(t,text) AGAINST(\'+('.$GET.') IN BOOLEAN MODE\') AS score FROM `'.PRFX.'knowledge` WHERE MATCH(t,text) AGAINST (\'+('.$GET.') IN BOOLEAN MODE\') ORDER BY score DESC');

I zawsze zwraca 2 wyniki? Dlaczego?
Co zrobic?
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 - 06:29