السلام عليكم ورحمة الله
كيف استكيع برمجة سكربت سلة مشتريات تحسب قيمة المشتريات
وتجمع عدد المنتجات مع القيمه وترسلى الى فورم عند تاكيد الطلبيه
بنظام Session
مثال الموجود في مكتبة النيل والفرات
www.neelwafurat.com
لكن بشكل مبسط
السلام عليكم ورحمة الله
كيف استكيع برمجة سكربت سلة مشتريات تحسب قيمة المشتريات
وتجمع عدد المنتجات مع القيمه وترسلى الى فورم عند تاكيد الطلبيه
بنظام Session
مثال الموجود في مكتبة النيل والفرات
www.neelwafurat.com
لكن بشكل مبسط
هلا فيك اخووي seifss انت تطلب اسرار عمل معليش![]()
بعد بحث في منتديات اجنبيه وجدت لك هذا السكربت
wfcart.php
كود PHP:
<?php
class wfCart {
var $total = 0;
var $itemcount = 0;
var $items = array();
var $itemprices = array();
var $itemqtys = array();
var $iteminfo = array();
function cart() {} // constructor function
function get_contents()
{ // gets cart contents
$items = array();
foreach($this->items as $tmp_item)
{
$item = FALSE;
$item['id'] = $tmp_item;
$item['qty'] = $this->itemqtys[$tmp_item];
$item['price'] = $this->itemprices[$tmp_item];
$item['info'] = $this->iteminfo[$tmp_item];
$item['subtotal'] = $item['qty'] * $item['price'];
$items[] = $item;
}
return $items;
} // end of get_contents
function add_item($itemid,$qty=1,$price = FALSE, $info = FALSE)
{ // adds an item to cart
if(!$price)
{
$price = wf_get_price($itemid,$qty);
}
if(!$info)
{
$info = wf_get_info($itemid);
}
if($this->itemqtys[$itemid] > 0)
{ // the item is already in the cart..
// so we'll just increase the quantity
$this->itemqtys[$itemid] = $qty + $this->itemqtys[$itemid];
$this->_update_total();
} else {
$this->items[]=$itemid;
$this->itemqtys[$itemid] = $qty;
$this->itemprices[$itemid] = $price;
$this->iteminfo[$itemid] = $info;
}
$this->_update_total();
} // end of add_item
function edit_item($itemid,$qty)
{ // changes an items quantity
if($qty < 1) {
$this->del_item($itemid);
} else {
$this->itemqtys[$itemid] = $qty;
// uncomment this line if using
// the wf_get_price function
// $this->itemprices[$itemid] = wf_get_price($itemid,$qty);
}
$this->_update_total();
} // end of edit_item
function del_item($itemid)
{ // removes an item from cart
$ti = array();
$this->itemqtys[$itemid] = 0;
foreach($this->items as $item)
{
if($item != $itemid)
{
$ti[] = $item;
}
}
$this->items = $ti;
$this->_update_total();
} //end of del_item
function empty_cart()
{ // empties / resets the cart
$this->total = 0;
$this->itemcount = 0;
$this->items = array();
$this->itemprices = array();
$this->itemqtys = array();
$this->itemdescs = array();
} // end of empty cart
function _update_total()
{ // internal function to update the total in the cart
$this->itemcount = 0;
$this->total = 0;
if(sizeof($this->items > 0))
{
foreach($this->items as $item) {
$this->total = $this->total + ($this->itemprices[$item] * $this->itemqtys[$item]);
$this->itemcount++;
}
}
} // end of update_total
}
?>
demo.php
كود PHP:
<?php
// wfCart Demo
// You must included wfcart.php BEFORE you start the session.
include "wfcart.php";
session_start(); // start the session
$cart =& $_SESSION['wfcart']; // point $cart to session cart.
if(!is_object($cart)) $cart = new wfCart(); // if $cart ( $_SESSION['cart'] ) isn't an object, make a new cart
// end of header stuff
?>
<html><head><title>wfCart Demo</title></head>
<body><h3>عربة التسوق</h3>
<?
// Usually you would get your products from a database but we'll pretend..
$products = array();
$products[1] = array("id"=>1,"name"=>"منتج1","price"=>2.00);
$products[2] = array("id"=>2,"name"=>"منتج2","price"=>4.00);
$products[3] = array("id"=>3,"name"=>"منتج3","price"=>40);
$products[4] = array("id"=>4,"name"=>"منتج4","price"=>70.);
// check to see if any items are being added
if($_POST['add']) {
$product = $products[$_POST['id']];
$cart->add_item($product['id'],$_POST['qty'],$product['price'],$product['name']);
}
if($_POST['remove']) {
$rid = intval($_POST['id']);
$cart->del_item($rid);
}
// spit some forms
// You can have many different types of forms, such as many quantity boxes
// and an "add to cart" button at the bottom which adds all items
// but for the purposes of this demo we will handle one item at a time.
echo "<table>";
foreach($products as $p) {
echo "<tr><td><form method='post' action='demo.php'>";
echo "<input type='hidden' name='id' value='".$p['id']."'/>";
echo "".$p['name'].' $'.number_format($p['price'],2)." ";
echo "<table border='1' width='100%' cellspacing='0' cellpadding='0' bordercolor='#D7EBFF'>
<tr>
<td bgcolor='#D7EBFF'><input type='text' name='qty' size='2' value='1'><input type='submit' value='اضافه' name='add' style='border-style: dashed; border-width: 1px; background-color: #C0C0C0'>
</td>
</tr>
</table>
";
echo "</form></td></tr>";
}
echo "</table>";
echo "<h2>ماتم اضافته في عربتك</h2>";
if($cart->itemcount > 0) {
foreach($cart->get_contents() as $item) {
echo "<br />المنتجات:<br/>";
echo "رقم :".$item['id']."<br/>";
echo "الكميه :".$item['qty']."<br/>";
echo "السعر :$".number_format($item['price'],2)."<br/>";
echo "السلعه :".$item['info']."<br />";
echo "المجموع :$".number_format($item['subtotal'],2)."<br />";
echo "<form method=post><input type='hidden' name='id' value='".$item['id']."'/><input type='submit' name='remove' value='الغاء'/>
<input type='submit' value='إرسال' name='B1'>
</form>";
}
echo "---------------------<br>";
echo "<font color='#FF0000'>الاجمالي</font>: $".number_format($cart->total,2);
} else {
echo "لايوجد محتويات في عربتك";
}
?>