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