phpbar.de logo

Mailinglisten-Archive

[php] einkaufswagen (mit teilscript und problem)

[php] einkaufswagen (mit teilscript und problem)

head head_(at)_doobie.de
Wed, 10 Jan 2001 11:57:29 +0100


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