DB-Ausgabe

corona

Erfahrenes Mitglied
Guten morgen erstmal!

Hab hier ein Script, bei dem etwas falsch ist.
Und zwar will ich, dass immer eine plz mit einer stadt zusammen ausgegeben wird. stattdessen erscheint entweder die stadt, die man eingegeben hat, oder die plz. weiß jemand warum? was muss ich ändern, das sowohl plz und der stadtname ausgegeben wird?
die db-anbindung + ausgabe erfolgen einwandfrei, weil wenn ich eine stadt oder plz eingebe, die nicht in der db drin ist, wird auch nichts ausgegeben.



hier mal der php-code;
PHP:
/* DB auswählen */
mysql_select_db("hessen", $link);
$db="hessen";

if($res=mysql_db_query($db, $sql, $link))   {
echo "<br>";
}

$sql="SELECT id, stadtname, plz FROM staedte WHERE plz LIKE '".$_GET["plz"]."' AND stadtname='".$_GET["stadt"]."' ORDER BY stadtname ASC";

if($_GET["stadt"] == "" AND $_GET["plz"] == "") {
$sql="SELECT id, stadtname, plz FROM staedte WHERE plz LIKE '".$_GET["plz"]."' AND stadtname='".$_GET["stadt"]."' ORDER BY stadtname ASC"; }

if($_GET["stadt"] == "" AND $_GET["plz"] != "" ) {
$sql="SELECT id, stadtname, plz FROM staedte WHERE plz LIKE '".$_GET["plz"]."'"; }

if($_GET["plz"] == "" AND $_GET["stadt"] != "") {
$sql="SELECT id, stadtname, plz FROM staedte WHERE stadtname LIKE '".$_GET["stadt"]."'"; }

$query = mysql_query($sql);

while(mysql_fetch_array($query)) {
echo $_REQUEST[plz]."   ";
echo $_REQUEST[stadt]."  <br>";
}
jemand was entdeckt, woran es liegen könnte :( :( :(
danke für jeden vorschlag
 
Zuletzt bearbeitet von einem Moderator:
Jo deine Verarbeitung des Result-Handler ist Essig.
Bei dir steht
PHP:
$query = mysql_query($sql);

while(mysql_fetch_array($query)) {
echo $_REQUEST[plz]." ";
echo $_REQUEST[stadt]." <br>";
Dann machst du zwar ein schickes fetch array weist es aber keiner Variablen
zu. Und wie du auf den Ast gekommen bist, dass die Daten danach im
$_REQUEST Array stehen weiss ich auch nicht so ganz. Da stehen nämlich
nur gebündelt alle Inhalte aus $_POST, $_GET, $_COOKIE und $_SESSION
drin. Also mach es wie folgt und es sollte laufen.
PHP:
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
  echo $row['plz']." ";
  echo $row['stadtname']."<br />\n";
}

Und somit ist auch klar, warum immer nur das eine oder andere kam. Du
hast einfach wieder ausgegeben, was du eingegeben hast und nicht die
Ergebnisse des DB Abfrage.
 
Juhuuu! Es funktioniert.
Danke Tim!

Hat jemand vielleicht noch eine Idee, wie ich bei der Ausgabe der stadt + plz einen Link dahinter setze, dass wenn der Benutzer da drauf klickt, auf eine stadtseite gelangt?
Die Url für den Link ist in der gleichen DB, gleiche Tabelle wie die städtename und plz. Einfach eine andere Spalte "link".

Danke auch hier für jeden Vorschlag :rolleyes:
 
Och nee oder ? Kann man das nicht mit nem Fünkchen Kreativität sehen wie das geht ?
PHP:
$query = "SELECT ID,plz,stadtname,link FROM staedte WHERE [...]";

$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
  echo $row['plz']."&nbsp;".$row['stadtname']."&nbsp;<a href=\"".$row['link']."\" target=\"_blank\" >homepage von ".$row['stadtname']."</a><br />\n";
}
 
Zurück