PLZ suchen

Nein ich wollte eigentlich eher wissen, wie der Inhalt des adresslines Arrays aussieht und sei doch bitte in Zukunft so gut und setze Code Blöcke in zwischen [php ] und [/php ] natürlich ohne das Leerzeichen vor dem ].
 
das mit dem farbig hinterlegen [ php ] hab ich geändert, sorry wusste nicht wie das geht...

ich hab hier folgendes stehen:


PHP:
$ende = "ADRESSENENDE";
$adresslines = file("$datafile");
$adressnum = sizeof($adresslines);
sort($adresslines);
 
Zum einen, nimm mal bitte die Doublequotes aus den file() Pamaterklammern.
Also
PHP:
$adresslines = file($datafile);
Tja, evtl. wäre es sinnvoll, wenn du den preg_match erst auf das tatsächliche PLZ Objekt anwendest und nicht auf einen String, der eigentlich nochmal explodet wird. Nur dann kannst du doch wirklich sicher sein, dass die PLZ wirklich ganz vorne im String steht.
 
Ja das dachte ich mir ...

Ich habe jetzt folgendes gemacht:
PHP:
 if (!empty ($search))
     {
      unset($name); # Variable leeren

$pattern = "/^" .$search."/";
if(preg_match($pattern, $plz))
        {
 $plz    = htmlentities($entry[5]);
      }
     }
if(!empty ($name))
     {
     echo ("
      <br>
      <center>
      <table bgcolor=f9f9f9 border=1 width=\"450\">
        <tr>
          <th  width=\"30%\">$table_Name</th>
          <th  width=\"70%\" colspan=\"3\">$name</th>
        </tr>
        <tr>
          <td bgcolor=f0f0f0>
          <img src=\"faker.gif\">
          </td>
		  <td bgcolor=f0f0f0>
		   <img src=\"faker.gif\">
          </td>
        </tr> ");

 if (!empty($plz) or !empty($ort))
        {
         echo ("
           <tr>
             <td  ><b>PLZ, Ort:</b></td>
             <td  >$plz &nbsp; $ort</td>
           </tr> ");
           }

      echo ("</table>");
     }
  }
 
doch SQL ?

Nach nächtelangem rumprobieren bin ich jetzt mittlerweile soweit das ich doch auf SQL zurückgreifen möchte...

a.) kennt jemand von euch ein Script wo man Name, Strasse PLZ und Ort eingeben kann und dann mit der Suchoption zb nach PLZ suchen kann und er NICHT mitten drin sucht ?
(Wie zb die ersten drei zahlen der PLZ von BErlin 107, dann soll er NICHT 21075 ausspucken ist nämlich Hamburg)

oder

b.) ist es sehr schwer das script so zu lassen und es anstatt mit textdateien mit sql zu machen ?

c.) ich weiss wie man einträge in einer sql-datenbank macht, aber
gibt es irgendwo ein tutorial, wie man über ein formular in sql sucht ?

danke
 
neues script

Ok, neues Script neues Glück...

Ich poste mal hier das "schlanke" Script.

Es gibt 2 Dateien, einmal admin.php und eintragen.php.

Das Problem ist das ich zwar mit den Textdateien prima suchen konnte
aber wie macht man das mit SQL ?
Mir fehlt also eine Datei die ich dann suche.php nennen würde.

Hier mal der Code für eintrag.php:

PHP:
html>
<body>
<?
if ($submit) {
$db = mysql_connect("127.0.0.1", "root");
mysql_select_db("kundendb",$db);
$sql = "INSERT INTO kunden (vorname,name,anr,email,tel,str,hnr,plz,ort) VALUES ('$vorname','$name','$anr','$email','$tel','$str','$hnr','$plz','$ort')";
$result = mysql_query($sql,$db);
echo "Ihr Daten wurden abgeschickt! Vielen Dank!<br><br>";
}
else {
?>

<form method="post" action="<? echo $PHP_SELF ?>">
<table border="0" align="center">
<tr>
<td>Anrede</td>
<td><select name="anr" size="1">
<option value="0">Herr
<option value="1">Frau
</select></td>
</tr><tr>
<td>Vorname</td>
<td><input type="text" name="vorname" value="<? echo $vorname ?>" size="50"></td>
</tr><tr>
<td>Name</td>
<td><input type="text" name="name" value="<? echo $name ?>" size="50"></td>
</tr><tr>
<td>e-mail</td>
<td><input type="text" name="email" value="<? echo $email ?>" size="50"></td>
</tr><tr>
<td>Telefon</td>
<td><input type="text" name="tel" value="<? echo $tel ?>" size="50"></td>
</tr><tr>
<td>Strasse Nr.</td>
<td><input type="text" name="str" value="<? echo $str ?>" size="40">
<input type="text" name="hnr" value="<? echo $hnr ?>" size="5"></td>
</tr><tr>
<td>PLZ Ort</td>
<td><input type="text" name="plz" value="<? echo $plz ?>" size="5">
<input type="text" name="ort" value="<? echo $ort ?>" size="40"></td>
</tr><tr>
<td>&nbsp;</td>
<td><input type="submit" name="submit" value="Abschicken"></td>
</tr>
</table>
</form>
<?
}
?>
</body>
</html>

und jetzt die Datei Admin.php:

PHP:
html>
<body>
<div align="center">
<h1>Kundendadenbank bearbeiten</h1>
<?
//Verbindung herstellen
$db = mysql_connect("127.0.0.1","root");
mysql_select_db("kundendb",$db);

//Daten l&ouml;schen
if($clear) mysql_query("DELETE FROM kunden WHERE id=$clear",$db);

// Daten &auml;ndern
if ($edit) {
if ($submit) {
$sql = "UPDATE kunden SET vorname='$vorname', name='$name', anr='$anr', email='$email', tel='$tel', str='$str', hnr='$hnr', plz='$plz', ort='$ort' WHERE id=$edit";
$result = mysql_query($sql,$db);
echo "Daten f&uuml;r die ID ".$edit." wurden ge&auml;ndert";
}
else {
$sql = "SELECT * FROM kunden WHERE id=$edit";
$result = mysql_query($sql,$db); 
$data = mysql_fetch_array($result);
?>

<form method="post" action="<? echo $PHP_SELF ?>">
<input type=hidden name="edit" value="<? echo $data["id"] ?>">
<table border="0" align="center">
<tr>
<td>Anrede</td>
<td>
<? if($data["anr"]==0) { ?>
<select name="goa" size="1">
<option value="0">Herr
<option value="1">Frau
</select>
<? } else { ?>
<select name="anr" size="1">
<option value="1">Frau
<option value="0">Herr
</select>
<? } ?>
</td>
</tr><tr><td>Vorname</td><td>
<input type="text" name="vorname" value="<? echo $data["vorname"] ?>" size="50">
</td></tr><tr><td>Name</td><td>
<input type="text" name="name" value="<? echo $data["name"] ?>" size="50">
</td></tr><tr><td>e-mail</td><td>
<input type="text" name="email" value="<? echo $data["email"] ?>" size="50">
</td></tr><tr><td>Telefon</td><td>
<input type="text" name="tel" value="<? echo $data["tel"] ?>" size="50">
</td></tr><tr><td>Strasse Nr.</td><td>
<input type="text" name="str" value="<? echo $data["str"] ?>" size="40">
<input type="text" name="hnr" value="<? echo $data["hnr"] ?>" size="5">
</td></tr><tr><td>PLZ Ort</td><td>
<input type="text" name="plz" value="<? echo $data["plz"] ?>" size="5">
<input type="text" name="ort" value="<? echo $data["ort"] ?>" size="40">
</td></tr><tr><td>&nbsp;</td><td>
<input type="submit" name="submit" value="&Auml;ndern">
</td></tr></table>
</form>
<?
}
}
//Daten auslesen
$result = mysql_query("SELECT * FROM kunden",$db);
?>

<table border="1" cellspacing="0" cellpadding="3" align="center">
<tr>
<td><b>ID</b></td>
<td><b>Vorname</b></td>
<td><b>Nachname</b></td>
<td><b>Herr(0)/Frau(1)</b></td>
<td><b>e-mail</b></td>
<td><b>Tel</b></td>
<td><b>Strasse</b></td>
<td><b>Nr</b></td>
<td><b>PLZ</b></td>
<td><b>Ort</b></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<? while ($daten = mysql_fetch_array($result)) { ?>
<tr>
<td><? echo $daten[id]; ?></td>
<td><? echo $daten[vorname]; ?></td>
<td><? echo $daten[name]; ?></td>
<td><? echo $daten[anr]; ?></td>
<td><? echo '<a href="mailto:'.$daten[email].'">'.$daten[email].'</a>'; ?></td>
<td><? echo $daten[tel]; ?></td>
<td><? echo $daten[str]; ?></td>
<td><? echo $daten[hnr]; ?></td>
<td><? echo $daten[plz]; ?></td>
<td><? echo $daten[ort]; ?></td>
<td><a href="<? echo ''.$PHP_SELF.'?clear='.$daten[id].'' ?>">l&ouml;schen</a></td>
<td><a href="<? echo ''.$PHP_SELF.'?edit='.$daten[id].'' ?>">bearbeiten</a></td>
</tr>
<? } ?>
</table>
</div>
</body>
</html>

Ich möchte das man jetzt nur nach PLZ suchen kann.

Hat einer von euch eine Idee ?
Mit Textdateien konnte ich das ja realisieren, aber da hat er die PLZ nicht richtig rausgesucht :-(

Danke
 
Zurück