Richtige Datensätze mittels Checkbox
jenny
- datenbank
0 André Laugks0 jenny
Hallo,
Ich möchte einen einfachen Shop basteln.
Folgendes Problem: Ich habe auf einer Seite eine Abfrage wo über checkboxen eine Auswahl von Herstellern getroffen wird. Die nächste Seite listet dann alle Artikel des Herstellers auf. Bis dahin funkt alles. Bei jedem Artikel erscheint dann eine checkbox zum Auswählen. Ich möchte nun, wenn die Checkbox aktiviert wurde=Häckchen, das auf der nächsten Seite nur die Datensätze angezeigt werden, wo die Checkbox aktiv ist. Hab schon einiges probiert aber kein Resultat erziehlt. Kann mir jemand weiterhelfen??
Danke
jenny
seite2.php
// checkbox aktiv oder nicht
<input type="checkbox" name="bestellen" value="1">
seite3.php
// auswahl der datensätze wo checkbox aktiv.
$result=mysql_query("SELECT id,artnr,hersteller,bezeichnung,preis FROM artikel WHERE id=$id");
Hallo!
seite2.php
// checkbox aktiv oder nicht
<input type="checkbox" name="bestellen" value="1">seite3.php
Wenn Du mehrere Checkboxen mit dem Namen bestellen hast, muß Du folgendermaßen vorgehen.
10.10. Wie kann man Checkboxen verarbeiten?
http://www.dclp-faq.de/q/q-formular-checkbox.html
MfG, André Laugks
Hallo,
Das ist nicht ganz das was ich brauche. Hier mal der Quellcode jener Site wo die Artikel der Hersteller aufgelistet werden. Bei jedem Artikel wird dann die Checkbox angezeigt, und wenn jemand einen Artikel bestellen will, muß er die Checkbox aktivieren. Auf der nächsten Site sollen dann nur die Artikel aus der DB ausgelesen werden und angezeigt, bei welchen die Checkbox aktiviert wurde. Das sollte mit einer IF oder WHILE Schleife funktionieren nur weiß ich nicht wie.
<html>
<head>
<title></title>
<SCRIPT LANGUAGE=JavaScript>
function verify_page()
{
{
document.frmRegister.submit();
}
}
</script>
</head>
<body>
<br>
<?
include("admin/config.php");
$hersteller = $HTTP_POST_VARS["hersteller"];
mysql_connect($db_host,$db_user,$db_pass) || die("Could not contact mySQL!");
mysql_select_db($db_db) || die("Connected mySQL, but database is unavailable!");
$result1=mysql_query("SELECT id,artnr,hersteller,bezeichnung,beschreibung,preis FROM artikel WHERE hersteller = '".join("' OR hersteller = '",$hersteller)."'");
if(mysql_num_rows($result1)>0)
{
?>
<form name="frmRegister" action="warenkorb.php" method="post">
<table width="600" cellspacing="1" cellpadding="3" bgcolor="#336699">
<TR>
<td align="center" bgcolor="#336699" colspan="6" class="bold"><font color="#ffffff">Verfügbare Artikel</font><br>
</td>
</tr>
<TR>
<td bgcolor="#ffffff" class="std">Art-Nr.</td>
<td bgcolor="#ffffff" class="std">Hersteller</td>
<td bgcolor="#ffffff" class="std">Bezeichnung</td>
<td bgcolor="#ffffff" class="std">Info</td>
<td bgcolor="#ffffff" class="std">Preis</td>
<td bgcolor="#ffffff" class="std">in den Warenkorb</td>
</tr>
<?
while($row=mysql_fetch_array($result1))
{
$id=$row["id"];
$artnr=$row["artnr"];
$hersteller=$row["hersteller"];
$bezeichnung=$row["bezeichnung"];
$beschreibung=$row["beschreibung"];
$preis=$row["preis"];
?>
<TR>
<input type="hidden" name="id" value="<? echo $id; ?>">
<input type="hidden" name="hersteller" value="<? echo $hersteller; ?>">
<TD bgcolor="#ffffff" class="small"><? echo $artnr; ?></td>
<TD bgcolor="#ffffff" class="small"><? echo $hersteller; ?></td>
<TD bgcolor="#ffffff" class="small"><? echo $bezeichnung; ?></td>
<TD bgcolor="#ffffff" class="small"><? if(!$beschreibung){echo "keine daten";}else{echo "<a href="info.php?id=$id" border="0"><img src="/images/auge.gif" border="0"></a>";} ?></td>
<TD bgcolor="#ffffff" align="right" class="small"><? echo "".number_format($preis,2)." EUR"; ?></td>
<TD bgcolor="#ffffff" class="small" align="center">
// hier ist die Checkbox
<img src="/images/warenkorb.gif"><input type="checkbox" name="bestellen" value="1">
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
</td>
</TR>
<?
}
?>
<tr>
<td bgcolor="#ffffff" colspan="6" align="right" class="std"><input type="button" value="Warenkorb ansehen" onClick="verify_page()"</td>
</tr>
</table>
</form>
<?
}
else
{
echo "<table width="600" border="0" cellspacing="1" cellpadding="3" bgcolor="#336699">";
echo "<tr>";
echo "<td bgcolor="#336699" align="center">";
echo "<font color="#ffffff">";
echo "Keine Artikel dieses Herstellers gefunden";
echo "</font>";
echo "</td>";
echo "</tr>";
echo "</table>";
}
?>
</body>
</html>
Hallo!
Du mußt jeder Checkbox die ID ins Value schreiben.
<img src="/images/warenkorb.gif"><input type="checkbox" name="bestellen[]" value="$id">
Wenn das Formular angesendet wurde, kannst Du die ID aufnehmen. Alle IDs stehen in dem Array $bestellen.
if(is_array($_POST['bestellen']))
{
$sql = "SELECT spalten FROM tabelle WHERE id IN (" . join(",", $_POST['bestellen']) . ")";
...
}
MfG, André Laugks