Hallo zusammen,
folgendes Problem:
Ich möchte über eine Suchmaske verschiedene Artikel in einer Stückliste suchen.
Das Ganze funktioniert prima mit mehreren Artikeln über folgende Abfrage:
Nun soll die Abfrage aber mit Daten aus einem Formular mit 5 Inputfeldern ausgeführt werden, wovon bis zu 4 Felder leer sein können.
Mein bisheriger Code sieht wie folgt aus:
Wie bekomme ich es nun hin, dass die Abfrage variabel bleibt (sprich, bei 2 ausgefüllten Textfeldern sollen auch nur diese 2 Werte gesucht werden, während die leeren ignoriert werden...)?
Hoffe, mir kann jemand folgen und helfen!
Danke!
folgendes Problem:
Ich möchte über eine Suchmaske verschiedene Artikel in einer Stückliste suchen.
Das Ganze funktioniert prima mit mehreren Artikeln über folgende Abfrage:
Code:
$ergebnis = mysqli_query($db, "SELECT baugruppe FROM artikeldaten WHERE einzelteil IN (\"Artikel1\", \"Artikel2\") GROUP BY baugruppe HAVING COUNT(baugruppe)=$i");
Mein bisheriger Code sieht wie folgt aus:
PHP-Code:
<form action="<? $PHP_SELF; ?>" method="post">
<p>Suchbegriff 1:<br><input name="sb1" type="text" size="30" maxlength="30"></p>
<p>Suchbegriff 2:<br><input name="sb2" type="text" size="30" maxlength="40"></p>
<p>Suchbegriff 3:<br><input name="sb3" type="text" size="30" maxlength="40"></p>
<p>Suchbegriff 4:<br><input name="sb4" type="text" size="30" maxlength="40"></p>
<p>Suchbegriff 5:<br><input name="sb5" type="text" size="30" maxlength="40"></p>
<input type="submit" value=" Absenden ">
</form>
<?
if (isset($_POST["sb1"]))
{
$i=0;
if (!empty($_POST['sb1'])){$i++;}
if (!empty($_POST['sb2'])){$i++;}
if (!empty($_POST['sb3'])){$i++;}
if (!empty($_POST['sb4'])){$i++;}
if (!empty($_POST['sb5'])){$i++;}
$ergebnis = mysqli_query($db, "SELECT baugruppe FROM artikeldaten WHERE einzelteil IN ('".$_POST['sb1']."') GROUP BY baugruppe HAVING COUNT(baugruppe)=$i");
while($row = mysqli_fetch_object($ergebnis))
{
echo $row->baugruppe;
echo "<br />";
}
}
?>
Hoffe, mir kann jemand folgen und helfen!
Danke!
Kommentar