Beste PHPhelpers,

Ik heb momenteel een soort bestellijstje gemaakt,
alleen stoot ik tegen het probleem dat enkel een bepaald aantal producten herkent wordt door mijn systeem bijvoorbeeld om het makkelijk uit te leggen:
- appel
- peer
- banaan

Nu zijn de termen wel wat moeilijker dan dat en evenwel met ë en é waar mensen de schrijfwijze niet van weten en dat zou ik graag hebben dat dit gecorrigeerd wordt.

Dus indien iemand apel schrijf zou dit appel moeten worden.
Zelf had ik gedacht om een systeem te ontwikkelen door het product zo in de database te zetten:
a[p/pp]el zodanig dat zowel 1 p als 2 zouden goedgekeurd worden. Evenals zou dat dan ook gaan met speciale karakters zoals [ë/e].

Ik heb al wat zitten zoeken maar vond niet direct iets kan iemand mij op weg helpen?

Alvast heel erg bedankt!
Jos Verstraeten op 30/07/2014 22:16:56

Zelf had ik gedacht om een systeem te ontwikkelen door het product zo in de database te zetten:
a[p/pp]el zodanig dat zowel 1 p als 2 zouden goedgekeurd worden.

Dat lijkt me voor je database niet de optimale inrichting.

Om jouw voorbeeld te gebruiken: straks typt iemand (per ongeluk) sppel of appul of appels in. Hoe ga je daar dan mee om? Je kunt volgens mij niet eens alle varianten bedenken / vastleggen.

Waarom niet werken met een dropdown?
Het gaat er niet om typfouten maar eerder om fouten van ik weet niet hoe je het schrijft. Dropdown is niet mogelijk omdat de dropdown simpelweg te lang wordt. En ik zou het graag op een manier werkende krijgen zoals ik het zei omdat ik het ergens anders ook kan implementeren dan ...
Zoek je iets als 'levensthein'?
Een optie is om een soort tag tabel aan te maken voor de tabel met de normale waardes. In die tag tabel heb je twee kolommen: de misspelde versie van het woord en het id van het woord record in de tabel met de normale waardes. Je zet een index op de misspelde versie waardoor een woord zeer snel op te zoeken is:

SELECT a.woord
FROM normale_versies a
INNER JOIN tag_versies b ON a.woord_id = b.woord_id
WHERE b.misspeld_woord = '...'

Alleen krijg je snel problemen met misspelde woorden die dan aan meerdere echte woorden kunnen worden gehang. Bijvoorbeeld 'bom' kan zijn 'boem', 'boom', of gewoon alsnog 'bom'.
Heel erg bedankt,
ga meteen eens proberen of het werkt en anders kom ik nog wat hulp vragen :)

Reageren