Dat zou ook een manier zijn geweest maar ik heb toch zelf een scriptje geschreven dat mij in staat steld om de postcode te gaan controleren met de postcodes in database. Dit houd ook rekening met * notatie.
<?
function checkMailCode2($mailcode)
{
$check=0;
$count=strlen($mailcode); //aantal tekens van postcode
$count2=0;
//Loop die zo vaak als het aantal tekens word overlopen
while($count2<$count)
{
//postcode gaan opsplitsen naar de count van de loop om zo stuk per stuk de postcodes te gaan elimeneren
$mailcode2=substr($mailcode,0,$count2+1);
//tellen hoeveel postcodes er zijn die beginnen met $mailcode2
$sql="select count(*) as aantal from Config_mail_codes where config_mc_mail_code LIKE '".$mailcode2."%'";
$mcs=mysql_fetch_assoc(mysql_query($sql));
if($mcs["aantal"]>1)
{
//meer dan één over dus dieper gaan
$count2++;
}elseif($mcs["aantal"]==1)
{
//één waarde dus niet dieper gaan dit klopt
$sql="select * from Config_mail_codes where config_mc_mail_code LIKE '".$mailcode2."%'";
$mc= mysql_fetch_assoc(mysql_query($sql));
return $mc;
$count2=$count;
}
else
{
//0 waardes dus klopt niet meer dus vorig nemen
//vorig kan meer dan 1 zijn geweest dus postcode met * gaan uitzoeken
//aantal * kes gaan tellen
$mailcode2=substr($mailcode,0,$count2);
$test=strlen($mailcode)-strlen($mailcode2);
$count3=0;
while($count3<$test)
{
$stars.="*";
$count3++;
}
$sql="select * from Config_mail_codes where config_mc_mail_code='".$mailcode2.$stars."'";
//$sql="select * from Config_mail_codes where config_mc_mail_code LIKE '".$mailcode2."%'";
$mc= mysql_fetch_assoc(mysql_query($sql));
return $mc;
$count2=$count;
}