• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP Postleitzahlen Suche

agodesign

Mitglied
Hallo :)

ich bin auf der suche nach einem php script mit dem adressen aus einer liste anzeigen lassen kann indem man nach der postleitzahl sucht.

Das ganze soll als Händlersuche eingesetzt werden. Sucht ein Kunde nach einer Postleitzahl, oder deren ersten 2 ziffern werden alle passenden adressen, aus einer einer liste mit anschriften auf der seite ausgegeben.

Sowas gibt es sicherlich schon aber ich habe leider nichts gefunen :( Alles das was ich gefunden habe war mit enfernungsberechnern etc. das ist alles zu viel.

lg,
dani
 
Werbung:
Keine Ahnung, ob es irgendwo ein fertiges Script im Netz gibt, aber bei deinen Anforderungen ist das ja keine Hexerei, um so ein Script selber zu schreiben.
 
Werbung:
Ganz simple gestrickt:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>Test</title>
</head>
<body>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
Postleitzahl: <input type="text" name="plz" />
<input type="submit" name="submit" value="Suchen" />
</form>
<?php
    if (isset($_POST['plz']))
    {
      if (is_numeric($_POST['plz']))
      {
        $mysqli = @new mysqli("host", "user", "password", "dbname");

        if (mysqli_connect_errno())
          die("Connect failed: " . mysqli_connect_error());
     
        $plz =  (strlen($_POST['plz']) > 4) ? substr($_POST['plz'], 0,4) : $_POST['plz'];
     
        $query = "Select
                    `plz`,
                    `ort`,
                    `strasse`
                    from
                    `tabelle`
                    where
                      `plz` like '$plz%'";


      $result = $mysqli->query($query)
          or die ("MySQL-Error: " . mysqli_error($mysqli));
       
      if (mysqli_num_rows($result))
      {
          while ($row = mysqli_fetch_assoc($result))
              echo $row['plz'] . ", " . $row['ort'] . ", " .$row['strasse'] . "<br />\n";
      }
      else
        echo "Keine Treffer";
    }
    else
      echo "Bitte nur Zahlen eingeben!";
  }
?>
</body>
</html>
 
Existiert den eine entsprechende Datenbank mit den Postleitzahlen?

Meine letzte Datenbank, die extra NUR auf Berlin optimiert war, war so groß das ich mehrere Tage damit verbracht habe, alleine die Datenbank zu importieren. Daher die Frage: Wird nur nach einem Such-Script gesucht oder auch nach der Datenbank und den korrekten Inhalt?
 
Werbung:
Hallo,

@zorndyuke was hast mehrere tage importiert? kaffeetasse auch mal abstellen (^o°)
DB zb http://opengeodb.org.

@agodesign also die frage mit excel war jetzt nicht ernst gemeint. csv geht datürlich aber DB ist viel schneller und vor allem weniger server last bzw. verteilt dies.
wenn man eine csv hat kann man die ja mit 2 klicks in eine DB importieren.

Cheffchen
 
Opengeodb ist ja schön und gut, aber bei einer Händlersuche schießt man da mit Kanonen auf Spatzen.
 
Hallo,

und wo her möchtest dann wissen das PLZ 06xxxx gleich neben 99xxx liegt ausser nutzt google geocodierung was ja nur im zusammenhang mit einer Karte erlaupt ist.
(ich würde natürlich das mit google geocodierung machen inkl Karte aller)

Cheffchen
 
Werbung:
Existiert den eine entsprechende Datenbank mit den Postleitzahlen?

Meine letzte Datenbank, die extra NUR auf Berlin optimiert war, war so groß das ich mehrere Tage damit verbracht habe, alleine die Datenbank zu importieren. Daher die Frage: Wird nur nach einem Such-Script gesucht oder auch nach der Datenbank und den korrekten Inhalt?
Aber da standen bestimmt noch mehr Daten als PLZ + Ort darin... bzw. will er ja nicht alle Adressen zu einer PLZ sondern nur die bestimmter Händler
 
Werbung:
Da waren mehrere Inhalte enthalten, auch Latitude und Langitude, aber zu der Zeit habe ich auch eine schlechte Methode zur Importierung verwendet. Wenn man nicht die optimale Methode kennt, kann man mal leicht die falsche verwenden und eine Menge Zeit verlieren.
 
und wo her möchtest dann wissen das PLZ 06xxxx gleich neben 99xxx liegt ausser nutzt google geocodierung was ja nur im zusammenhang mit einer Karte erlaupt ist.

Auch wenns eigentlich nicht gewünscht ist dennoch der Hinweis: die opengeodb ermöglicht das auch. Dank ihr muss man eigentlich auch nicht selbst eine Datenbank mit Adressen anlegen ;)
 
Aber da standen bestimmt noch mehr Daten als PLZ + Ort darin... bzw. will er ja nicht alle Adressen zu einer PLZ sondern nur die bestimmter Händler

Genau :) Der Benutzer soll die Möglichkeit haben in das Feld 2-5 Zahlen seiner PLZ einzutragen und dann werden ihm hierfür alle Händler angezeigt.
Und die Händleradressen sollen am besten in einer csv tabelle hinterlegt sein.

Gibt es sowas? :D
 
Werbung:
Hallo,

deswegen die beiden Links, mehr brauchst nicht, einfach zusammen kopieren. Mehr tutorial gibts.
Möchtest Hilfe oder das dir das einer vormacht?

Cheffchen
 
Werbung:
Zurück
Oben