Hallo,

Ik heb een database, welke waardes haalt uit Exact for Windows dmv odbc.
In de database staat een klantenbestand van ons bedrijf, waarvan de woonplaatsen allen volledig in hoofdletters zijn opgeslagen.

Als ik nu wil zoeken met een zoekmachine vind hij niks wanneer ik zoek met kleine letters, terwijl dat met de voornaam.achternaam bijv. niks uitmaakt in hetzelfde script..

Is hier een functie voor die dit kan oplossen?

dit is mijn script;

<?
$sql = "SELECT debnr, naam, adres1, adres2, woonpl FROM debitr WHERE (".$_POST['veld']." LIKE '%".$_POST['trefwoord']."%') ORDER BY debnr";
$resultaat = odbc_do($connectie,$sql);
while (row = odbc_fetch_array($resultaat)) {
// bla bla
}
?>
Ik heb nu ook het volgende geprobeerd, maar werkte ook niet;

<?
$trefwoord = strtoupper($_POST['trefwoord']);

if ($_POST['veld'] == 'woonpl') {
$sql = "SELECT debnr, naam, adres1, adres2, woonpl FROM debitr WHERE (woonpl LIKE '%".$trefwoord."%') ORDER BY debnr";
}
else {
$sql = "SELECT debnr, naam, adres1, adres2, woonpl FROM debitr WHERE (".$_POST['veld']." LIKE '%".$trefwoord."%') ORDER BY debnr";
}

$resultaat = odbc_do($connectie,$sql);
?>
Heb je error_reporting(E_ALL); aanstaan?

En anders zet je het adres om in kleine letters? Is misschien handiger dan.
Error reporting staat aan..
En alles in kleine letters neerzetten is ook geen optie er staan er nl. al zo'n 9957 in de database.. :)
$trefwoord = strtolower($_POST['trefwoord']);

if ($_POST['veld'] == 'woonpl') {
$sql = "SELECT debnr, naam, adres1, adres2, woonpl FROM debitr WHERE LOWER(woonpl) LIKE '%".$trefwoord."%') ORDER BY debnr";
}
Ok dan! in je query moet je dat aanpassen.. :)
bedankt Kalle!

Reageren