Avatar billede barf Nybegynder
12. marts 2005 - 12:09 Der er 7 kommentarer og
1 løsning

hjælp til søgning

Hvad er der galt med nedenstående kode?
Jeg vil gerne lave en eksakt søgning, men selv om jeg søger på ord jeg ved findes i databasen, finder sriptet aldrig noget.
Hvis jeg sætter $n til "%", virker det fint.

$n = "";
$DB = new MySQL();
$DB->Query("
SELECT id, title, content
FROM content
WHERE ((title LIKE '" . $n . $_GET['search'] . $n . "') OR (content LIKE '" . $n . $_GET['search'] . $n . "'))
");
Avatar billede detox Nybegynder
12. marts 2005 - 12:21 #1
$n = ""; gør jo at feltet i tabellen skal indeholde præcist det du søger, hvorimod
$n = "%"; gør at det du søger bare skal indeholdes i feltet.
Avatar billede barf Nybegynder
12. marts 2005 - 12:28 #2
Ah, så den tjekker om $_GET['search'] er lige med enten HELE title eller content.

Hvad gør jeg så hvis jeg kun vil søge på hele ord og ikke bare brudstykker? Altså hvis jeg søger på 'test' skal den ikke retunere noget ved 'testetoron' :)
Avatar billede detox Nybegynder
12. marts 2005 - 12:31 #3
Så sætter du: $n = ""; // Den matcher kun det præcise søgeord.
Avatar billede barf Nybegynder
12. marts 2005 - 12:57 #4
Ok nu er jeg forvirret.
Hvis $n = "", checker den så om HELE content (som jo kan være mange 1000 ord), er lig med $_GET['search'] eller om der er ET ord i content der er lig med $_GET['search']?
Avatar billede detox Nybegynder
12. marts 2005 - 13:01 #5
% i dit søgeord er et wildcard der matcher alt. Så:
'test%' matcher: test, testen, tester, osv...
'test' matcher kun: test.
Avatar billede detox Nybegynder
12. marts 2005 - 13:03 #6
Hvis du vil finde: 'test' (og ikke 'testeteron') et sted i din tekst kan du bruge:

'% test %' // altså med mellemrum omkring 'test'.
Avatar billede barf Nybegynder
12. marts 2005 - 13:11 #7
Det var det med mellemrummet jeg manglede.
Tak! Lægger du et svar?
Avatar billede detox Nybegynder
12. marts 2005 - 13:15 #8
Velbekommen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester