Hallo ,
ich bin neu hier und leider kenne ich mich in php noch sehr schlecht aus.
ich hoffe ihr versteht was ich haben möchte und könnt mir helfen.
ich habe eine dynamische auswahlliste, wo die daten aus der datenbanktabelle kommen, wenn man etwas aus der liste wählt und auf suchen geht, wirden i nder datenbank datensätze mit diem ausgwählten wert gesucht.
das funktioniert auch ganz gut.
doch jetzt kommt die frage, ich möchte diese suche mit mehreren suchkriterien eingrenzen, d.h. mehrere auswahllisten.
doch wenn man z.b. ein kriterium nicht kennt, sollte man einfach in der liste auf "alle "annklicken können, dann werden einfach alle datensätze angezeigt mit allen werten der liste.
hoffe ihr habt verstanden was ich will.
hier ist noch der skript den ich jetzt schon habe.
auswahlsuche.php
<?php
$link = mysql_connect("...");
mysql_select_db("einflussgroessen", $link);
echo"<FORM ACTION=\"suchausgabe.php\" METHOD=POST>";//Formularziel
$tabellenname="applikation";
echo"</P><P><b>Applikation:<b> <select NAME=\"applikation\">";
$abfrage = "SELECT applikation , applikation_id FROM applikation ORDER BY applikation";
$ergebnis = mysql_query($abfrage);
while ($m_fetch = mysql_fetch_object($ergebnis)) {
echo "<option value='{$m_fetch->applikation_id}'>{$m_fetch->applikation}</option></P><br>";
}
echo"</select></CENTER></P>";
echo"</P><P><INPUT TYPE=submit NAME=Absenden VALUE=\"Suchen\"></CENTER>";
echo"</FORM> </FONT></P></BLOCKQUOTE>";
?>
und suchausgabe.php
<html><head>
<title>Suchergebnis</title>
</head>
<body>
<h1>Suchergebnisse</h1>
<?php
$link = mysql_connect("...");
mysql_select_db("einflussgroessen", $link);
$applikation = $_POST["applikation"];
$sql="select applikation.applikation, applikation.applikation_id
from applikation inner join einflussdetail
on applikation.applikation_id = einflussdetail.applikation_id
where einflussdetail.applikation_id = '$applikation'";
$result = mysql_query($sql);
print "<table border=\"1\" cellspacing=\"2\" ".
"cellpadding=\"2\">\n";
print "<tr><th>id</th><th>applikation</th></tr>\n";
while ($dataset = mysql_fetch_array($result)){
print "<tr>";
print "<td>".$dataset['applikation_id']."</td>";
print "<td>".$dataset['applikation']."</td>";
print "</tr>\n";
}
print "</table>\n";
?>
</body></html>
vielen dank!
lg Tatjana
ich bin neu hier und leider kenne ich mich in php noch sehr schlecht aus.
ich hoffe ihr versteht was ich haben möchte und könnt mir helfen.
ich habe eine dynamische auswahlliste, wo die daten aus der datenbanktabelle kommen, wenn man etwas aus der liste wählt und auf suchen geht, wirden i nder datenbank datensätze mit diem ausgwählten wert gesucht.
das funktioniert auch ganz gut.
doch jetzt kommt die frage, ich möchte diese suche mit mehreren suchkriterien eingrenzen, d.h. mehrere auswahllisten.
doch wenn man z.b. ein kriterium nicht kennt, sollte man einfach in der liste auf "alle "annklicken können, dann werden einfach alle datensätze angezeigt mit allen werten der liste.
hoffe ihr habt verstanden was ich will.
hier ist noch der skript den ich jetzt schon habe.
auswahlsuche.php
<?php
$link = mysql_connect("...");
mysql_select_db("einflussgroessen", $link);
echo"<FORM ACTION=\"suchausgabe.php\" METHOD=POST>";//Formularziel
$tabellenname="applikation";
echo"</P><P><b>Applikation:<b> <select NAME=\"applikation\">";
$abfrage = "SELECT applikation , applikation_id FROM applikation ORDER BY applikation";
$ergebnis = mysql_query($abfrage);
while ($m_fetch = mysql_fetch_object($ergebnis)) {
echo "<option value='{$m_fetch->applikation_id}'>{$m_fetch->applikation}</option></P><br>";
}
echo"</select></CENTER></P>";
echo"</P><P><INPUT TYPE=submit NAME=Absenden VALUE=\"Suchen\"></CENTER>";
echo"</FORM> </FONT></P></BLOCKQUOTE>";
?>
und suchausgabe.php
<html><head>
<title>Suchergebnis</title>
</head>
<body>
<h1>Suchergebnisse</h1>
<?php
$link = mysql_connect("...");
mysql_select_db("einflussgroessen", $link);
$applikation = $_POST["applikation"];
$sql="select applikation.applikation, applikation.applikation_id
from applikation inner join einflussdetail
on applikation.applikation_id = einflussdetail.applikation_id
where einflussdetail.applikation_id = '$applikation'";
$result = mysql_query($sql);
print "<table border=\"1\" cellspacing=\"2\" ".
"cellpadding=\"2\">\n";
print "<tr><th>id</th><th>applikation</th></tr>\n";
while ($dataset = mysql_fetch_array($result)){
print "<tr>";
print "<td>".$dataset['applikation_id']."</td>";
print "<td>".$dataset['applikation']."</td>";
print "</tr>\n";
}
print "</table>\n";
?>
</body></html>
vielen dank!
lg Tatjana
Kommentar