Hallo,
Ik ben een PHP/MySQL-site aan het bouwen, en nu heb ik een vraagje over de zoekfunctie. Ik laat de gebruiker middels checkboxes kiezen of hij wil zoeken in de title (title) en/of in het artikel zelf (content).
De sql-query ziet er dan als volgt uit indien de gebruiker in beide velden wil zoeken:
$sql = "SELECT id, title. lastmodified FROM table_name WHERE title LIKE '%$searchInput%' OR content LIKE '%$searchInput%' ORDER BY lastmodified DESC";
Nu valt me een ding op, en ik begrijp ook waarom - alleen weet nog niet hoe ik het zo eenvoudig mogelijk aanpas: als ik zoek op 1 zoekterm, gaat alles goed. Zoek ik echter op 2 termen, waarvan er eentje in title staat, en eentje in content, dan gaat het mis. Waarschijnlijk zal het ook al mis gaan als ik twee woorden uit de titel ingeef die niet direct na elkaar staan..
Ik neem aan dat hij letterlijk naar deze search string gaat zoeken, echter wat de bedoeling is, is dat hij naar de woorden afzonderlijk gaat zoeken.
Hoe kan ik dit het beste aanpakken?
Pieter
Ik ben een PHP/MySQL-site aan het bouwen, en nu heb ik een vraagje over de zoekfunctie. Ik laat de gebruiker middels checkboxes kiezen of hij wil zoeken in de title (title) en/of in het artikel zelf (content).
De sql-query ziet er dan als volgt uit indien de gebruiker in beide velden wil zoeken:
$sql = "SELECT id, title. lastmodified FROM table_name WHERE title LIKE '%$searchInput%' OR content LIKE '%$searchInput%' ORDER BY lastmodified DESC";
Nu valt me een ding op, en ik begrijp ook waarom - alleen weet nog niet hoe ik het zo eenvoudig mogelijk aanpas: als ik zoek op 1 zoekterm, gaat alles goed. Zoek ik echter op 2 termen, waarvan er eentje in title staat, en eentje in content, dan gaat het mis. Waarschijnlijk zal het ook al mis gaan als ik twee woorden uit de titel ingeef die niet direct na elkaar staan..
Ik neem aan dat hij letterlijk naar deze search string gaat zoeken, echter wat de bedoeling is, is dat hij naar de woorden afzonderlijk gaat zoeken.
Hoe kan ik dit het beste aanpakken?
Pieter