Hi all
Beim unten stehende php mache ich ergent wie falsch das class datei ist fertig gestelt. und richtig. Aber die php was ich erstelle ist flasch wie kann ich dem koregieren
Danke an all
Dass ist Die Class Datei
Und Das ist die Erklärung von autor wie man die php erstellen kann
aufrufe um den waren kob zu managen
Object generieren:
include ("basket.class");
$basket=new basket;
Vairablen aus session in basket laden
$basket->fill_from_session($bId,$bName,$bAmount,$bPrice)
Basket anzeigen
$basket->show_cart();
Artikel hinzufuegen
$basket->add_item ($artikelid,$artikelname,$artikelpreis);
Artikel entfernen
$basket->delete_item($arrayposition);
Basket leeren
$basket->delete_cart();
Und Das ist Die Php von mir.
Beim unten stehende php mache ich ergent wie falsch das class datei ist fertig gestelt. und richtig. Aber die php was ich erstelle ist flasch wie kann ich dem koregieren
Danke an all
Dass ist Die Class Datei
PHP-Code:
<?
class basket {
var $id;
var $name;
var $amount;
var $price;
var $entry;
function basket (){
// there is no base stuff needed
}
function fill_from_session($id,$name,$amount,$price){
$this->id=$id;
$this->name=$name;
$this->amount=$amount;
$this->price=$price;
}
function add_item ($id,$name,$price){
$basketcounter=0;
$updateitem=0;
$updateflag=0;
if (count($this->id)){
// only run the array if an array exists
foreach ($this->id as $basketid){
if ($id==$basketid){
// setting position to update amount of position
$updateflag=1;
$updateitem=$basketcounter;
}
$basketcounter++;
}
if ($updateflag){
// update existing item in basket
echo "updateing values<BR>";
$this->amount[$updateitem]++;
if ($this->amount[$updateitem]>1){
$this->price[$updateitem]=($this->price[$updateitem]/($this->amount[$updateitem]-1))*$this->
amount[$updateitem];
}
}else{
// add new item to existing basket
echo "Add to existing basket<BR>";
$this->id[]=$id;
$this->name[]=$name;
$this->price[]=$price;
$this->amount[]=1;
}
}else{
// att first item to basket
echo "start new basket<BR>";
$this->id[]=$id;
$this->name[]=$name;
$this->price[]=$price;
$this->amount[]=1;
}
}
function show_cart(){
$basketcounter=0;
if (count($this->id)){
foreach ($this->id as $basketid){
$itemid=$basketcounter+1;
echo '<A HREF="index.php?deleteitem='.$itemid.'&PHPUGSESSID=6d4ac535752a75ad1231787ac65a1249">';
echo $this->name[$basketcounter].' - ';
echo '</A>';
echo $this->price[$basketcounter].' - ';
echo $this->amount[$basketcounter].' - ';
echo '<BR>';
$basketcounter++;
}
}else{
echo "No items";
}
}
function delete_item ($itemid){
$itemid--;
$count=count($this->id);
for ($i=$itemid;$i<$count;$i++){
$basketcounter=$i+1;
$this->id[$i]=$this->id[$basketcounter];
$this->name[$i]=$this->name[$basketcounter];
$this->amount[$i]=$this->amount[$basketcounter];
$this->price[$i]=$this->price[$basketcounter];
}
array_pop ($this->id);
array_pop ($this->name);
array_pop ($this->amount);
array_pop ($this->price);
}
function delete_cart (){
unset ($this->id);
unset ($this->name);
unset ($this->price);
unset ($this->amount);
}
}
?>
Und Das ist die Erklärung von autor wie man die php erstellen kann
aufrufe um den waren kob zu managen
Object generieren:
include ("basket.class");
$basket=new basket;
Vairablen aus session in basket laden
$basket->fill_from_session($bId,$bName,$bAmount,$bPrice)
Basket anzeigen
$basket->show_cart();
Artikel hinzufuegen
$basket->add_item ($artikelid,$artikelname,$artikelpreis);
Artikel entfernen
$basket->delete_item($arrayposition);
Basket leeren
$basket->delete_cart();
Und Das ist Die Php von mir.
PHP-Code:
<?
// start the session
// create basket object
$basket=new basket();
/* fill basket with session variables because object canot just be stored in session*/
if (session_is_registered("basket")){
$basket->fill_from_session($basketid,$basketname,$basketamount,$basketprice);
}
/* set tax (mwst beeing the swiss name for it*/
$basket->mwst=$settings->mwst;
/* catch cart actions */
if ($deletecart)
$basket->delete_cart();
if ($deleteitem)
$basket->delete_item($deleteitem);
if ($addtocart)
$basket->add_item($bid,$bname,$bprice);
/* show the cart*/
$basket->show_cart();
include ("basket.class");
echo "<Burasi Bos>";
/* storing variables in session to fill in on next page */
$basketid=$basket->id;
$basketname=$basket->name;
$basketamount=$basket->amount;
$basketprice=$basket->price;
session_register("basket");
session_register("basketid");
session_register("basketname");
session_register("basketamount");
session_register("basketprice");
?>
<table>
<tr>
<td><h2>catelogue</h2></td>
</tr>
<tr>
<td>expresso cups (6)</td>
<td>
<a href="index.php?=1&iid=001&iname=expresso&iprice=10">Add to cart</A>
</td>
</tr>
<tr>
<td>coffee machine</td>
<td>
<a href="index.php?addtocart=2&iid=002&iname=machine&iprice=100">Add to cart</A>
</td>
</tr>
<tr>
<td>coffee beans (java)</td>
<td>
<a href="index.php?addtocart=2&iid=003&iname=coffee&iprice=5">Add to cart</A>
</td>
</tr>
</table>
<hr>
<h2>shopping basket</h2>
<?
$basket->show_cart();
//session_destroy();
?>
<?
/*
session["items"][n][0] = id
session["items"][n][1] = name
session["items"][n][2] = price
session["items"][n][3] = amount
*/
class basket {
// constructor
function basket () {
// set starting count
if (!isset($_SESSION["item_count"]))
$_SESSION["item_count"] = 0;
}
function add_item ($id,$name,$price) {
if ($_SESSION["item_count"] > 0) {
$found=false;
for($i=0; $i<$_SESSION["item_count"]; $i++) {
if ($_SESSION["items"][$i][0] == $id) {
$_SESSION["items"][$i][3]++;
$found=true;
}
}
if (!$found) {
// add new item to existing basket
$_SESSION["items"][$_SESSION["item_count"]] = array($id,$name,$price,1);
$_SESSION["item_count"]++;
}
} else {
// add first item to basket
$_SESSION["items"][0] = array($id,$name,$price,1);
$_SESSION["item_count"]=1;
}
}
function show_cart() {
if (isset($_SESSION["item_count"]) && $_SESSION["item_count"] > 0) {
echo "<table border=\"1\">";
echo "<tr><td>Item(click to remove)</td><td>price</td><td>amount</td><td>subtotal</td></td></tr>";
$total = 0;
for($i=0; $i<$_SESSION["item_count"]; $i++) {
echo "<td><a href=\"cart2.php?deleteitem=1&iid=".$_SESSION["items"][$i][0]."\">";
echo $_SESSION["items"][$i][1]."</a></td>";
echo "<td>".$_SESSION["items"][$i][2]."</td>";
echo "<td>".$_SESSION["items"][$i][3]."</td>";
$subtotal = $_SESSION["items"][$i][2] * $_SESSION["items"][$i][3];
echo "<td align=\"right\">$subtotal</td>";
echo "</tr>";
$total += $subtotal;
}
echo "<tr><td><b>total</b></td><td align=\"right\" colspan=\"3\">$total</td></tr></table>";
}
else {
echo "No items";
}
}
function delete_item($id) {
$pos=0;
for($i=0; $i<$_SESSION["item_count"]; $i++) {
if ($_SESSION["items"][$i][0] != $id) {
$_SESSION["items"][$pos] = $_SESSION["items"][$i];
$pos++;
}
}
$_SESSION["item_count"]--;
}
function delete_cart () {
session_destroy();
}
}
?>
Kommentar