![]() | ||||||||
![]() |
Karte | Kalender | Suche | Bookmarks | Experte | FAQ |
ModuleDownloadSMFinder_Query_getUID4adrWird verwendet von:SMFinder_Query_getUID4adr Keine Erläuterungen gefunden. <?php #$locationFracments["name"]="Grande Opera"; $locationFracments["name"]=""; $locationFracments["street"]="Christian-Pleß-Str."; $locationFracments["No"]="11-13"; $locationFracments["pcode"]="63069"; $locationFracments["city"]="Offenbach"; $adrFound = SMFinder_Query_getUID4adr($locationFracments); echo "gefundeneAdresse lautet:\n";print_r($adrFound); function SMFinder_Query_getUID4adr($locationFracments){ include_once("SMFinder_Config.php"); include_once("SMFinder_Query_readAdr.php"); $adr=array(); if (!is_array($locationFracments)){return false;} $NoLocationFracments=count($locationFracments); for ($a=0;$a<$NoLocationFracments;$a++){ $locationFracments[$a]=trim($locationFracments[$a]); } #a /* first look for pcode */ if(!empty($locationFracments["pcode"])){ $anfrage ="SELECT * FROM `".$GLOBALS['DBTadr']."` "; $anfrage.="WHERE `pcode` LIKE '".$locationFracments["pcode"]."'"; }else{ /* if pcode does not exist, look for city */ $tmp=explode(" ",$locationFracments["city"]); for($s=0;$s<count($tmp);$s++){ if (strlen($tmp[$s])>=$tmp[$longest]){$longest=$s;} } #s $cityShort=$tmp[$longest]; $anfrage ="SELECT * FROM `".$GLOBALS['DBTadr']."` "; $anfrage.="WHERE `city` LIKE '%".$cityShort."%'"; } if($GLOBALS['debug']){ echo "<aj>SMFinder_Query_getUID4adr.php</aj> ".$anfrage."<br>"; } list($adrTest,$NoAdr)=execGetAdr($anfrage); $adrFound=false; for ($n=0;$n<$NoAdr;$n++){ /* first look for the name */ $thisName=str_replace(" ","",$locationFracments["name"]); $existingName=str_replace(" ","",$adrTest[$n]['desc']); if (eregi($thisName,$existingName) OR eregi($existingName,$thisName)){ $adrFound=true; $adrCandidate[$n]=true; # break; }else{ $adrCandidate[$n]=false; } } #n /* name not existent, look for street and number */ for ($n=0;$n<$NoAdr;$n++){ if (!$adrCandidate[$n]){ $thisStreet=str_replace(" ","",$locationFracments["name"]); $NoPos=strrpos(" ",$adrTest[$n]['street']); $existingStreet=substr($adrTest[$n]['street'],0,$NoPos); $No=trim(substr($adrTest[$n]['street'],$NoPos)); $existingStreet=str_replace(" ","",$existingStreet); if (eregi($thisStreet,$existingStreet) OR eregi($existingStreet,$thisStreet)){ $sumNo=$locationFracments["No"]+$No; if($sumNo>0){ /* if given check number */ if ($locationFracments["No"]==$No){ /* street and number do fit */ $adrFound=true; $adrCandidate[$n]=true; # break; }else{ /* street fits but No is wrong */ $adrCandidate[$n]=false; } }else{ /*street fits, no number */ $adrCandidate[$n]=true; } } } } #n $nn=-1; for ($n=0;$n<$NoAdr;$n++){ if($adrCandidate[$n]){ $nn++; $adr[$nn]=$adrTest[$n]; } } #n if (count($adr)>0){ return $adr; }else{ return false; } } ?> IndexFür die Funktionalität des SM-Finders sind viele kleine Tools notwendig. Alle Funktionen beginnen mit SMFinder_ um deren Ursprung zu kennzeichnen. Dem schließt sich die Funktionsgruppe, z.B. Geo_ an, gefolgt vom eigentlichen Namen, der die Aufgabe der Funktion widerspiegeln soll, z.B. PLZ2DB. Der gesamte Sourcecode darf gemäß GNU General Public License weiterverbreitet werden. |
![]() |
Die hier zur Verfügung gestellten Informationen basieren auf dem Austauschnetzwerk des SM-Finders.
Änderungen an eurem Datensatz könnt ihr z.B. beim Arbeitskreis SM-Finder vornehmen.
Bei Fragen und Problemen schreibt bitte an: sm-finderki-co.org
Der AK-SM-Finder ist korporatives Mitglied der BVSM e.V.
Für Aktualität und Richtigkeit der dargebotenen Infomationen kann keine Gewähr übernommen werden!