superfly: Anfänger Frage zu PHP Datenbankabfrage mit mehreren Variablen

hallo forumer !!!
ich bin ein php newbie und kämpfe mich grad durch das englische manual. ich habe mir
eine test datenbank gebastelt und versuche diese nun auszulesen. das gelingt mir auch aber
nur mit einer variable vieleicht kann mir einer von euch php spezialisten da draussen ein wenig helfen.
ist sicher eine kleinigkeit für euch. folgenden code habe ich mir mit scriptfetzten und tips aus div. manuals selbst gebastelt. ich weis das dieser code nocht das gelbe vom ei ist aber trotzdem
vielen dank für die hilfe im voraus
see ya
superfly

<html>
<head>
<title>test datenbank</title></head>
<body>
<form method="post">
Name:<input type="text" size="50" maxlength="150" name="name" value="<?php echo $name ?>"><br>
Ort:<input type="text" size="50" maxlength="50" name="ort" value="<?php echo $ort ?>"><br>
Postleitzahl:<input type="text" size="50" maxlength="50" name="postleitzahl" value="<?php echo $postleitzahl ?>"><br>
<input type="submit" value="Abfrage"> <input type="reset" value="Reset">
</form>
<?
$conID = mysql_pconnect ("localhost","root","");
mysql_select_db("testdatenbank", $conID);

$sql_select_name =
            "SELECT name,strasse,postleitzahl,ort,telefon,fax,homepage,email
            
            FROM daten
            
            WHERE (name ='$name')";

$result_name = mysql_query ($sql_select,$conID);

$sql_select_ort =
            "SELECT name,strasse,postleitzahl,ort,telefon,fax,homepage,email
            
            FROM daten
            
            WHERE (ort ='$ort')";

$result_name_ort = mysql_query ($sql_select,$conID);

$result = ""

while ($row = mysql_fetch_array($result)) {    
    
    $name = $row["name"];
$postleitzahl = $row["postleitzahl"];
$ort = $row["ort"];
$strasse = $row["strasse"];
$telefon = $row["telefon"];
$fax = $row["fax"];
$homepage = $row["homepage"];
$email = $row["email"];

print "
$name<br>
$ort<br>
$postleitzahl<br>
$strasse<br>
$telefon<br>
$fax<br>
$homepage<br>
$email<br><br><br>
";
}
  mysql_free_result($result);

?>
</body></html>

  1. Hi!

    das gelingt mir auch aber nur mit einer variable

    Ich zähl mich zwar nicht zu den Spezialisten (vielleicht habe ich deshalb deine Fragestellung nicht ganz verstanden ;-) ) aber was möchtest du eigentlich genau?

    mfG
    brand

    1. Hi!

      das gelingt mir auch aber nur mit einer variable

      Ich zähl mich zwar nicht zu den Spezialisten (vielleicht habe ich deshalb deine Fragestellung nicht ganz verstanden ;-) ) aber was möchtest du eigentlich genau?

      mfG
      brand

      ich möchte gerne eine datenbank abfrage realisieren wo nach einer oder mehreren eingaben in einem formular
      ($name, $ort, $postleitzahl) nach 1 bis 3 varibalen gesucht wird. je nach dem wie viele daten man im formular
      eintippt.
      ich hoffe ich konnte mein problem jetzt besser darstellen.

      bye
      superfly

      1. Hi,

        ich möchte gerne eine datenbank abfrage realisieren wo nach einer oder mehreren eingaben in einem formular
        ($name, $ort, $postleitzahl) nach 1 bis 3 varibalen gesucht wird. je nach dem wie viele daten man im formular

        $query="SELECT * FROM daten WHERE ";
        if($name) { $query.="name='$name' "}
        if($ort) { $query.="ort='$ort' "}
        if($postleitzahl) { $query.=" postleitzahl='$postleitzahl'"}

        Jan

        DISCLAIMER: das ist nur ein Denkansatz, der nicht getestet und auf Richtigkeit ueberprueft ist. Vollstaendig ist er schon gar nicht! .= haengt an einen String einen weiteren String an.

        1. Hallo Forumer !!!
          Vielen danke für die Denkanstösse ich konnte mein Problem mit euren Tips bewälitgen.
          THx guys
          see ya
          superfly

  2. Hallo superfly,

    <input type="text" size="50" maxlength="150" name="name" value="<?php echo $name ?>"><br>

    erstmal verstehe ich nicht ganz, warum du in der Eingabe die Ausgabe wiedergeben willst, wenn du danach das Ergebnis als Liste ausgibst?

    bzgl. der Abfrage anbei eine Möglichkeit, welche jedoch von mir nicht getestet wurde - probiers mal aus. Problem ist nur, wenn der User keines der Felder ausfüllt *g*

    <?
    $link = mysql_pconnect ("localhost","root","");

    mysql_select_db("testdatenbank",$link);

    $query = "SELECT name,strasse,postleitzahl,ort,telefon,fax,homepage,email FROM daten WHERE";

    if ($name <> ""){
       $query .= " and name = '$name'";
       }

    if ($ort <> ""){
       $query .= " and ort = '$ort'";
       }

    if ($postleitzahl <> "") {
       $query .= " and postleitzahl = '$postleitzahl'";
       }

    $query .= " order by '$name'";

    $result = mysql_query($query,$link);
       $num = mysql_numrows($result) or die ( "Die Suche war erfolglos" );

    for ($i = 0; $i < $num; $i++) {
          $row = mysql_fetch_array($result);
          
    {    
       echo "$row[name]<br>
    $row[postleitzahl]<br>
    $row[ort]<br>
    $row[strasse]<br>
    $row[telefon]<br>
    $row[fax]<br>
    $row[homepage]<br>
    $row[email]";
    }
    ?>

    cu
    Martin