Guten Tag,
ich will es gleich von vorne rein sagen, bin nicht so fit was Mehrdimensionale arrays angeht
Folgendes Problem:
Ich Generiere aus der Datenbank eine Liste (Warenkorb) per "while" Schleife, da stehen dann Werte wie:
ID->Menge->Preis drin.
Nun will ich wenn jemand die Menge ändert das er das auch übernimmt.
Das ist das Formular:
Das Funktioniert auch super, doch wenn ich nun das Formular abschicke wird immer die erste ID nur geändert ( Oder alle erhalten den gleichen Mengen Wert )
Alle Daten werden als array abgeschickt
Das sagt print_r:
Doch wie bekomme ich das so hin das zum Beispiel:
ID => 1 quantity => 5 geupdatet wird?
Die anderen Werte sollen natürlich auch gleich per update eingespeist werden.
Also kurz:
Wie führe ich die array zusammen für einen mysql update, dass ich einfach einen Update Befehl ausführen kann:
Also alle Daten aus dem array lesen mache ich bis jetzt immer so ( wenn es nur ein array gibt)
Das nehme ich auch um Artikel aus dem Warenkorb zu löschen.
Klappt auch wunderbar.
Dann ist da noch eine Zweite Sache:
Ich muss die Menge * Preis nehmen, diese wird dann auch in cartitem gespeichert!
Hoffe einer versteht was ich machen will?
Über Anregungen und Vorschläge wäre ich sehr dankbar!
ich will es gleich von vorne rein sagen, bin nicht so fit was Mehrdimensionale arrays angeht

Folgendes Problem:
Ich Generiere aus der Datenbank eine Liste (Warenkorb) per "while" Schleife, da stehen dann Werte wie:
ID->Menge->Preis drin.
Nun will ich wenn jemand die Menge ändert das er das auch übernimmt.
Das ist das Formular:
PHP:
while($row = mysql_fetch_array($product_details))
{
$id = mysql_real_escape_string($row['id']);
$image = mysql_real_escape_string($row['product_image']);
$product_id = mysql_real_escape_string($row['product_id']);
$product_title =mysql_real_escape_string($row['product_title']);
$price = mysql_real_escape_string($row['product_price']);
$menge = mysql_real_escape_string($row['quantity']);
$supprice = $menge * $price;
echo '<tr valign="top"><td width="400"><table border="0" width="100%" cellspacing="0" cellpadding="0" class="productListing">
<tr>
<td align="center" class="productListing-heading" width="50">Löschen</td>
<td class="productListing-heading" width="80" align="left">Produkt(e)</td>
<td class="productListing-heading" width="230" align="left">Produkt Titel</td>
<td align="center" class="productListing-heading" width="40">Menge.</td>
<td align="right" class="productListing-heading" width="40">Total</td>
</tr>
<tr class="productListing-even">
<td align="center" class="productListing-data" valign="top"><input type="checkbox" name="cart_delete[]" value="'.$id.'"></td>
<td class="productListing-data"><table border="0" cellspacing="0" cellpadding="0">
<tr><td class="productListing-data" style="padding-left:0px" align="center"><a href="product_info.php?products_id='.$product_id.'">
<img src="image.php?w=70&img=images/artikel/'.$image.'" border="0" alt="'.$product_title.'" title="'.$product_title.'" class=image_border></a>
</td></tr></table></td><td class="productListing-data" valign="top"><b>'.$product_title.'</b><br></td>
<input type="hidden" name="id[]" value="'.$id.'">
<td align="center" class="productListing-data" valign="top"><input type="text" name="quantity[]" value="'.$menge.'" size="3">
<input type="hidden" name="price[]" value="'.$price.'"></td>
<td align="right" class="productListing-data" valign="top"><b>'.$supprice.'€</b></td>
</tr></table></td></tr>';
}
Das Funktioniert auch super, doch wenn ich nun das Formular abschicke wird immer die erste ID nur geändert ( Oder alle erhalten den gleichen Mengen Wert )
Alle Daten werden als array abgeschickt
Das sagt print_r:
PHP:
Array ( [id] => Array ( [0] => 126 [1] => 124 [2] => 125 ) [quantity] => Array ( [0] => 1 [1]
=> 1 [2] => 1 ) [price] => Array ( [0] => 4.99 [1] => 4.99 [2] => 4.99 ) [update_cart_x] =>
61 [update_cart_y] => 3 [update_cart] => updatecart )
Doch wie bekomme ich das so hin das zum Beispiel:
ID => 1 quantity => 5 geupdatet wird?
Die anderen Werte sollen natürlich auch gleich per update eingespeist werden.
Also kurz:
Wie führe ich die array zusammen für einen mysql update, dass ich einfach einen Update Befehl ausführen kann:
PHP:
//Beispiel
mysql_query("UPDATE cartitem SET `quantity` ='$menge' WHERE id ='$id' ") or mysql_error();
Also alle Daten aus dem array lesen mache ich bis jetzt immer so ( wenn es nur ein array gibt)
PHP:
for ($i=0; $i<count($id); $i++)
{
$id_array = $id[$i];
//zeigt alle id´s
echo $id_array;
}
Das nehme ich auch um Artikel aus dem Warenkorb zu löschen.
Klappt auch wunderbar.
Dann ist da noch eine Zweite Sache:
Ich muss die Menge * Preis nehmen, diese wird dann auch in cartitem gespeichert!
Hoffe einer versteht was ich machen will?

Über Anregungen und Vorschläge wäre ich sehr dankbar!
Zuletzt bearbeitet: