Zoeken op hele woorden in SQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Miniejjj

Miniejjj

05/08/2008 23:32:00
Quote Anchor link
Hoi,

ik ben bezig met een zoekmachinescript en nu is het zoekscript aan de beurt.

Nu heb ik gewoon met LIKE gedaan in de query, maar dan zoekt het script ook gewoon op halve woorden dus
Quote:
testtest

ik zoek op test en hij vind ook testtest.

Hoe kan ik ervoor zorgen dat hij alleen op hele woorden zoekt in de database?

Alvast bedankt,
Arthur
 
PHP hulp

PHP hulp

05/11/2024 07:59:24
 
Jelmer -

Jelmer -

05/08/2008 23:40:00
Quote Anchor link
Simpele antwoord: voeg spaties toe voor en na je zoekwoord. Dan matcht hij alles wat begint met een spatie, vervolgens je zoekwoord, en dan weer eindigd met een spatie.

Je ruikt het probleem al, woorden die aan het begin staan, of aan het eind staan, of direct volgen op een ( of koppelteken, en woorden die een punt of ) of aanhalingsteken voorafgaan worden overgeslagen.
 
Miniejjj

Miniejjj

05/08/2008 23:43:00
Quote Anchor link
Dat werkt niet helemaal:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$zoekterm = mysql_real_escape_string($_GET['zoek']);
$zoekterm = " ".$zoekterm." ";

Hij vind nu helaas helemaal niets meer.
 
- -

- -

05/08/2008 23:51:00
Quote Anchor link
Dan doe je het zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CONCAT(' ', tekst, ' ') LIKE '% zoekwoord %'
OR  tekst LIKE CONCAT('%', "\n", 'zoekwoord %')
OR  tekst LIKE CONCAT('%', "\n", 'zoekwoord', "\n", '%')
OR  tekst LIKE CONCAT('% zoekwoord', "\n", '%')
OR  tekst LIKE '%(zoekwoord %'
OR  tekst LIKE '%(zoekwoord)%'
OR  tekst LIKE '% zoekwoord)%'
OR  tekst LIKE '% zoekwoord.%'
OR  tekst LIKE '% zoekwoord,%'
OR  tekst LIKE '% zoekwoord:%'
OR  tekst LIKE '% zoekwoord;%'
OR  tekst LIKE '%\'zoekwoord %'
OR  tekst LIKE '%\'zoekwoord\'%'
OR  tekst LIKE '% zoekwoord\'%'
OR  tekst LIKE '%"zoekwoord %'
OR  tekst LIKE '%"zoekwoord"%'
OR  tekst LIKE '% zoekwoord"%'

En zo kan je nog enkele weken doorgaan... Succes ;-)

Ik zou het persoonlijk met een regex oplossen.
 
Miniejjj

Miniejjj

05/08/2008 23:52:00
Quote Anchor link
Kan je dat met regex uitleggen?
 
Miniejjj

Miniejjj

06/08/2008 21:41:00
Quote Anchor link
Kan iemand mij helpen?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.