ID ---- product ---- bproduct ----.....
Nu heb ik al volgende code:
$result = mysql_query("SELECT * FROM producten WHERE bproduct LIKE '%$postproduct%'");
while ($row = mysql_fetch_assoc($result)) {
$data[] = $row['product'] . explode(" ", $row['bproduct']);
}
foreach ($data as $word) {
$lev = levenshtein($word, $postproduct);
if ($lev == 0) {
$closest = $begripd;
$shortest = 0;
break;
}
}
Wat de bedoeling is van het script:
Iemand voert een woord in dat mogelijk verkeerd geschreven is om het makkelijk te houden: appel -> apel
in bproduct staan alle mogelijke schrijffouten die worden goedgekeurd dit kunnen er meer zijn vandaar dat het in een array wordt opgeslagen (met explode).
Nu post de gebruiker dus een misschien fout gespeld woord.
Nu is het de bedoeling dat wanneer het woord niet in de database staat als product er gekeken wordt naar bproduct of het daar mogelijk ergens staat (LIKE % %) en als er een exacte match wordt gevonden zou het het juiste product moeten echoen.
Dus ik geef een voorbeeldje:
ik voer als gebruiker apel in
in de database staat het volgende:
ID ---- product ---- bproduct ----.....
15 appel apel ppel appe
Dan zou het script als output moeten geven: appel
want in bproduct staat exact hetzelfde woord als apel
Alvast bedankt voor de hulp ik hoop dat ik al wat in de goede buurt zit maar durf het niet te zeggen aangezien ik een beetje aan het knoeien ben met die arrays ...
ik heb het zelf opgelost gekregen ik ga het anders doen LIKE '%$postproduct%'" heb ik vervangen naar LIKE '%' ' $postproduct' '%'" zo krijg ik precies wat ik wou en zonder veel moeite. Sorry voor hen die het al probeerden op te lossen, maar toch bedankt!