22. marts 2008 - 13:09
Der er
9 kommentarer
Søgning i MySQL
Hej Experter. Jeg skal have tilføjet en søge funktion til mit site. Den skal søge i keywords. den indeholder tekst som kun er opdelt med mellemrum. $query = mysql_query ("SELECT * FROM data WHERE keywords = '$_POST[sog]'"); while ($row = mysql_fetch_array ($query)) { osv. Når jeg benytter = kan der kun være et ord i keywords... Er der nogle der har et bud på en løsning.
Annonceindlæg fra Computerworld it-jobbank
22. marts 2008 - 13:34
#1
WHERE keywords LIKE '%".$POST['soeg']."&'
22. marts 2008 - 13:55
#2
Jeg har prøvet, nu finder den ingen resultater. $query = mysql_query ("SELECT * FROM data WHERE keywords LIKE '%".$_POST['sog']."&'"); Er det sådan jeg skulle gøre?
22. marts 2008 - 13:57
#3
& skulle være % Lille trykfejl ;)
22. marts 2008 - 14:28
#4
Den er fin. hvis nu keywords indeholder : tekst1 tekst2 tekst3 Og jeg søger på "tekst1 tekst3" så finder den ingen. jeg kan kun søge efter 1 ord, eller tekst1 tekst2 så finder den dem. Kan man ikke få den til det..?
22. marts 2008 - 17:17
#5
<ole> Jo - og det burde da også virke med hmortensens kode :) /mvh </bole>
22. marts 2008 - 18:10
#6
Okay, Hvis jeg poster tekst1 tekst3 til koden så funder den ikke noget.
22. marts 2008 - 18:19
#7
Så tyder det på, du laver andre fejl
22. marts 2008 - 18:29
#8
Jeg har lavet det sådan her. $query = mysql_query ("SELECT * FROM data WHERE keywords LIKE '%".$_POST['sog']."%' ORDER BY navn"); while ($row = mysql_fetch_array ($query)) {
23. marts 2008 - 00:08
#9
Jeg tror ole sover i timen for en gang skyld ;) Den kan ikke matche præcist "tekst1 tekst3" i "tekst1 tekst2 tekst3". Jeg ville nok også lave det på en anden måde, med en keywords tabel, og en tabel til at sammenkæde data med keywords.
Vi tilbyder markedets bedste kurser inden for webudvikling