Mailinglisten-Archive |
ich sitze an einem warenkorb und frage mich, ob es sinnvoller ist diesen mit hilfe von sessions oder ebsser doch db (mysql) basiert aufzubauen. mein momentanes problem ist eine veräönderung der stückzahl á la amazon.com mit input für die stückzahl, alles andere hab ich momentan in einer session_var gespeichert (die anzahl steht da natürlich auch drin). wenn ich nun eine neue zahl eingebe soll neu berechnet werden. zwei snips: 1. so wird die session gespeichert: //schnipp $db = mysql_connect($db_root, $db_user, $db_pass); $res = mysql_db_query($db_name, "select * from shop where p_kat like '$kat'"); $erg = mysql_num_rows($res); mysql_close($db); for($i=0; $i<$erg; $i++) { $nummer = mysql_result($res, $i, "pro_nr"); $name = mysql_result($res, $i, "p_name"); $preis = mysql_result($res, $i, "p_preis"); echo "<form action='order_fr.php' method=post>"; echo "$name; $preis DM / Stück"; $anz = "anz"; $anz .= "[$nummer]"; $produkt = "produkt"; $produkt .= "[$nummer]"; echo "<input type=hidden name='$produkt'><input type=text size=2 name='$anz'>"; } echo "<input type=submit name='be_search' value='Bestellen'>"; //schnapp 2. so wird die bestellung in der session gespeichert //schnipp $cart[$eins] = array(); if(isset($anz)) { reset ($anz); while(list ($pro_nr, $menge) = each($anz)) { if($menge != 0) { $res = mysql_db_query($db_name, "select * from shop where pro_nr = '$pro_nr'"); $name = mysql_result($res, 0, "p_name"); $preis = mysql_result($res, 0, "p_preis"); $summe = $menge * $preis; $gesamtsumme += $summe; echo " $name; $menge · $preis = $summe DM"; $cart[$eins][] = array("name"=>$name, "preis"=>$preis, "menge"=>$menge); } } } session_register(cart); //schnapp 3. so wir der inhalt angezeigt: //schnipp $gesamtsumme = 0; echo "<form action='korb_fr.php' method=post>"; reset($cart); while(list($nummer,$product_data_arrs) = each($cart)) { reset($product_data_arrs); while (list(,$product_data_arr) = each($product_data_arrs)) { echo $product_data_arr["name"]; echo "<input type=text size=3 name=change value='".$product_data_arr["menge"]."'>"; echo "$product_data_arr["preis"]; $summe = $product_data_arr["menge"] * $product_data_arr["preis"]; $gesamtsumme += $summe; echo $summe; } } echo $gesamtsumme." DM"; echo "<input type=submit name=pay value='zu kasse'>"; session_register(cart); //schnapp ich hoffe das war nicht zu ausführlich und ich verstosse nicht gegen irgendwelche listenregeln ( z.b mail nie länger als 27 zeilen... :) ) schon mal vielen dank im vorraus boris head_(at)_doobie.de http://www.doobie.de
php::bar PHP Wiki - Listenarchive