Hallo,
ich bin gerade dabei ein kleines Warenkorbsystem zu schreiben.
Die Artikelanzahl sowie die Artikelid wird in einer Session gesichert:
$_SESSION['artikel'][$artikelid] = $artikelanzahl;
Die Artikelids werden aus dem Array extrahiert und in eine Selectabfrage eingesetzt:
$ids = NULL;
foreach($_SESSION['artikel'] as $id => $anzahl) {
$ids .= $id.',';
}
if(strlen($ids > 0)) {
$ids = substr($ids, 0, strlen($ids) - 1);
}
$query = "SELECT * FROM db WHERE id IN ($ids)";
Dabei bin ich auf folgendes Problem gestoßen:
Ich möchte nun, das in jeder Zeile zu den Artikelinformationen auch die Anzahl steht.
Ich lasse die MySQL Abfrage mit einer While Schleife ausgeben. So
funktioniert leider nicht dies:
> foreach($_SESSION['artikel'] as $id => $anzahl) {
> echo "$id: $anzahl<br>";
> }
Ich möchte nun, das in jeder Zeile nur die Artikelanzahl des
entsprechenden Artikels steht, also einfach vom ersten bis letzten Wert
immer nur einen angeben, da es ja die gleiche Reihenfolge ist.
Es soll also nur immer ein Wert der Anzahl ausgegeben werden, und
nicht gleich der ganze Array.
Weiss jemand wie ich das machen kann?
ich bin gerade dabei ein kleines Warenkorbsystem zu schreiben.
Die Artikelanzahl sowie die Artikelid wird in einer Session gesichert:
$_SESSION['artikel'][$artikelid] = $artikelanzahl;
Die Artikelids werden aus dem Array extrahiert und in eine Selectabfrage eingesetzt:
$ids = NULL;
foreach($_SESSION['artikel'] as $id => $anzahl) {
$ids .= $id.',';
}
if(strlen($ids > 0)) {
$ids = substr($ids, 0, strlen($ids) - 1);
}
$query = "SELECT * FROM db WHERE id IN ($ids)";
Dabei bin ich auf folgendes Problem gestoßen:
Ich möchte nun, das in jeder Zeile zu den Artikelinformationen auch die Anzahl steht.
Ich lasse die MySQL Abfrage mit einer While Schleife ausgeben. So
funktioniert leider nicht dies:
> foreach($_SESSION['artikel'] as $id => $anzahl) {
> echo "$id: $anzahl<br>";
> }
Ich möchte nun, das in jeder Zeile nur die Artikelanzahl des
entsprechenden Artikels steht, also einfach vom ersten bis letzten Wert
immer nur einen angeben, da es ja die gleiche Reihenfolge ist.
Es soll also nur immer ein Wert der Anzahl ausgegeben werden, und
nicht gleich der ganze Array.
Weiss jemand wie ich das machen kann?
Kommentar