Anfänger Frage zu PHP Datenbankabfrage mit mehreren Variablen
superfly
- php
0 brand0 superfly0 Jan Lehnardt0 superfly
0 Martin
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>
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
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
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.
Hallo Forumer !!!
Vielen danke für die Denkanstösse ich konnte mein Problem mit euren Tips bewälitgen.
THx guys
see ya
superfly
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