Beste forum lezers/helpers,
Wie kan mij helpen met een mysqli query? ik geef bijvoorbeeld de letters a.p.g.a.k.l. in, en dan is het de bedoeling dat de query de woorden zoekt met de letters die ik heb ingevoerd. Dat mogen 3, 4,5, of 6 letterwoorden zijn. de woorden staan uiteraard al in de database.

<?php
$sql = $mysqli->query("SELECT * FROM woorden en dan?");
?>

Zoek elke letter in een woord :

https://www.w3resource.com/mysql/string-functions/mysql-substring-function.php

Bijvoorbeeld

WHERE (letter a in woord) & (letter p in woord) & (letter g in woord)

En dat voor elke letter combinatie van 3,4,5 en 6 letters.

Als de letters ook nog een aanelkaar gezocht moeten worden heb je met 6 letter al 720 mogelijkheden.

1*2*3*4*5*6

Ongetwijfeld zullen er briljante oplossingen zijn, maar die kan ik zou gauw niet bedenken.
Bedankt Rob, hier kan ik mee verder!
Edit: toch nog een vraagje, de query mag elke letter die ik heb ingevoerd maar 1 keer gebruiken. bv de letters: obm, geeft de query terug bom, boom. bom is goed maar boom niet dat woord heeft twee o's.
Dan zul je per letter nog een extra controle toe moeten voegen (voorbeeld voor de letter 'o')

... AND woord REGEXP '^[^o]*(o?[^o]*){0,1}$'

Met die laatste '{0,1}' kun je aangeven hoe vaak de letter voor mag/moet komen (min/max). Voor de 'a' uit 'apgakl' zul je hier dus {0,2} moeten gebruiken.
Nogmaals bedankt Bob, ik ga ermee aan de slag.

Reageren