Kom ihåg mig?
Home Menu

Menu


Sökfunktion: Söka efter vissa ord

Ämnesverktyg Visningsalternativ
Oläst 2012-07-13, 05:13 #1
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
Standard Sökfunktion: Söka efter vissa ord

Hejsan! Försöker bygga en enkel sökfunktion men går inte riktigt som jag vill.

Jag vill kunna söka på flera ord i en string men som inte nödvändigtvis ligger efter varandra.

Såhär går det nu:

Riktiga ordet: hej på dig

går att söka:
hej

dig
hej på
på dig
hej på dig

Går inte att söka:
hej dig

kod:

PHP-kod:
$query "SELECT * FROM products WHERE ";

$query .= "title LIKE '%$search%' ";

$query .= "OR brand LIKE '%$search%' ";

$query .= "AND visible = 1 ";

$query .= "ORDER BY price DESC ";

$query .= "LIMIT $p_num , $items"
Antar att man skall använda onion och NOT LIKE, men får det fortfarande inte att fungera..

Någon som kan hjälpa mig och berätta hur jag skall göra?

Jag är nybörjare..

Tack!
jonssondesign är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-07-13, 17:44 #2
nicclas nicclas är inte uppkopplad
Flitig postare
 
Reg.datum: May 2003
Inlägg: 340
nicclas nicclas är inte uppkopplad
Flitig postare
 
Reg.datum: May 2003
Inlägg: 340
Det blir mycket enklare om du använder MySQLs FULLTEXT index. Se http://dev.mysql.com/doc/refman/5.0/...xt-search.html eller exempel på t.ex. http://www.artfulcode.net/articles/f...arching-mysql/
nicclas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-07-14, 01:02 #3
Jimmits avatar
Jimmit Jimmit är inte uppkopplad
Flitig postare
 
Reg.datum: Sep 2009
Inlägg: 453
Jimmit Jimmit är inte uppkopplad
Flitig postare
Jimmits avatar
 
Reg.datum: Sep 2009
Inlägg: 453
Jag brukar splitta upp frasen i enskilda ord och ge dem olika "rankingpoäng" med CASE WHEN. Första ordet får kanske 90, nästa 80, nästa 65 o.s.v. Således om ord 1 och 3 matchar en post har den 155 rankingpoäng, om ord 2 och 3 matchar så har de 145.

Man kan ju ge dem lika många poäng också men första ordet brukar vara mer relevant i de flesta lägen.

Galet trött så osäker på att jag gjorde någon poäng här, men du kanske förstår?
Jimmit är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-07-14, 11:28 #4
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
Tack nicclas, ska kolla på saken!

Jodå Jimmit, jag förstår tankesättet, men inte exakt hur man skulle lösa det rent tekniskt.

Får kolla mer på era lösningar, tack så mycket!
jonssondesign är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 16:57.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017