當前位置:首頁 » 編程語言 » php與購物車

php與購物車

發布時間: 2025-01-04 04:05:41

1. 怎樣用php編個購物車的程序

簡單說了,可以用Dreamweaver做網頁開發平台,PHPnow打包套件作為後台,包括Apache(作為伺服器)+PHP(作為PHP庫資源)+Mysql(作為資料庫環境)。要在資料庫的添加表單等等操作,在PhpAdmin下登錄進入MySQL。

編輯網頁的內容會在一個叫做htdocs的文件夾內,編輯資料庫的內容會在一個叫data的文件夾內。

用Dreamweaver時要設置PHPnow的路徑作為站點。

2. 【高分】急求用php寫的購物車代碼!!!!!(十萬火急)如果您提供的好用還有加分!!!

我也要弄一個這種購物車,
我去寫個,貼出來,【嘿嘿,今天上午新寫的】。
我懶得新建資料庫,用的是我的資料庫。
你按照我的改一下就能用了
本人水平有限,高手請指正。
你,大,爺的,雖然不咋地,保證能用
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
經過調試,
//$my->add_cart(45,3,"茶幾系列");//新增購物
//$my->updata_cart(13,13,8); //更新購物
//$my->del_cart(12,5,'Guest'); //刪除一種購物
//$my->empty_cart('Guest'); //清空購物車
$ok=$my->get_cart('Guest'); //返回購物車
這些都可用
-------------------------------------------------------------------
<?php

class Cart
{

public $totalCost=0; //商品總金額

function cart($host,$usr,$pwd,$db)
{
mysql_connect($host,$usr,$pwd) or die(mysql_error);
mysql_select_db($db) or die(mysql_error);
mysql_query("SET Names GBk");
//只要有人訪問,就自動清除一天前所有沒付款的訂單;
$sql="delete FROM shopcart WHERE TO_DAYS( NOW( )) - TO_DAYS( ptime ) >=1 and payment=0";
mysql_query($sql);

}

// 彈出提示
function alter($Str,$Url)
{
echo "<Script language='JavaScript'> alert('".$Str."');</Script>";
echo "<meta http-equiv=refresh content=0;URL=".$Url.">";
}

//增加購物;三個參數:pid:產品ID,ptl:產品數量,pcid:產品類別
//查詢資料庫,是否存在此人在本日內訂過本產品
//如果訂過,那麼數量累加,否則插入一個資料庫行
function add_cart($pid,$ptl=1,$pcid)
{
if($ptl>=100 || $ptl<=0)
{
$this->alter("最多買99件,最少1件","index.php");
die();
}

if(!$_SESSION['usr']) { $usr='Guest';}
else { $usr=$_SESSION['usr'];}

$sql="select * from shopcart where pid='".$pid."' and usr='".$usr."' and pcid='".$pcid."'";
$ex=mysql_query($sql);
$ex1=mysql_fetch_array($ex);

if(!$ex1)
{
$sql="select * from proct where ID='".$pid."' and class1='".$pcid."'";
$ok=mysql_query($sql);
$rs=mysql_fetch_array($ok);

if($rs)
{
$totalCost= $rs['Price'] * $ptl;

$sql="insert into shopcart(usr,pid,pname,ptl,price,pcid,psum,payment) Values(";
$sql.="'".$usr."',";
$sql.="'".$rs['ID']."',";
$sql.="'".$rs['Name']."',";
$sql.="'".$ptl."',";
$sql.="'".$rs['Price']."',";
$sql.="'".$rs['Class1']."',";
$sql.="'".$totalCost."',";
$sql.="'0')";

mysql_query($sql) or die(mysql_error());
if($ok) { $this->alter("購物成功","index.php"); }
else { $this->alter("購物失敗","index.php"); }

}
else
{
$this->alter("不存在的商品,或者參數錯誤","index.php");
die();
}
}
else
{
$sql="update shopcart set ptl= ptl+1,psum = psum+price where ID='".$ex1['ID']."'";
mysql_query($sql);
$this->alter("更新數量成功","index.php");
}

}

//更新購物車的單個產品的數量;
function updata_cart($cid,$ptl,$pid)
{
if($ptl>=100||$ptl<=0)
{
$this->alter('產品數量不對!','index.php');
die();
}
$sql="select * from shopcart where ID='".$cid."' and pid='".$pid."'";
$ok=mysql_query($sql);
if(!ok) { alter("參數發生錯誤","index.php");}
else
{
$sql="update shopcart set ptl='".$ptl."',psum=price * '".$ptl."' where ID='".$cid."' and pid='".$pid."'";
$ok=mysql_query($sql);
if(!ok) { $this->alter("更新失敗","index.php");}
else { $this->alter("更新成功","index.php");}
}
}
function del_cart($cid,$pid,$usr)
{
$sql="delete from shopcart where usr='".$usr."' and ID='".$cid."' and pid='".$pid."'";
$ok=mysql_query($sql);
if(!$ok) {$this->alter("刪除失敗","index.php");}
else {$this->alter("刪除成功","index.php");}
}

function empty_cart($usr)
{
$sql="delete from shopcart where usr='".$usr."'";
mysql_query($sql) or die(mysql_error);
}

function get_cart($usr)
{
$sql="select * from shopcart where usr='".$usr."'";
$ok=mysql_query($sql);
return $ok;
}

}
$my = new Cart("localhost","root","root","mybbs");
//$my->add_cart(45,3,"茶幾系列");
//$my->updata_cart(13,13,8);
//$my->del_cart(12,5,'Guest');
//$my->empty_cart('Guest');
$ok=$my->get_cart('Admin');

echo "usr pid pname ptl price pcid psum payment ptime <br><hr><br>";
while($rs=mysql_fetch_array($ok))
{
echo $rs[1]."->".$rs[2]."->".$rs[3]."->".$rs[4]."->".$rs[5]."->".$rs[6]."->".$rs[7]."->".$rs[8]."->".$rs[9]."<br>";

}

?>

、、、、、、、、、、、、、、、、、SQL、、、、、、、、、、、、、、

CREATE TABLE IF NOT EXISTS `shopcart` (
`ID` int(10) NOT NULL auto_increment,
`usr` varchar(50) NOT NULL,
`pid` int(5) NOT NULL,
`pname` varchar(100) NOT NULL,
`ptl` int(3) NOT NULL,
`price` decimal(50,2) NOT NULL default '0.00',
`pcid` varchar(100) NOT NULL,
`psum` decimal(50,2) NOT NULL default '0.00',
`payment` tinyint(1) NOT NULL,
`ptime` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`ID`)
)

proct 裡面用的ID CLASS1是

`ID` int(6) NOT NULL auto_increment,
`Class1` varchar(20) NOT NULL,
`Price` int(6) NOT NULL,

3. 我用PHP做的購物車,為什麼每次往購物車中添加不同商品 ,購物車中確顯示的同一件商品啊

這個需要看你的購物車結構。
一般一個屬性的商品是在一條數據裡面,多次加入只是更改數量
不同屬性的商品應該分多條數據保存。最後購物車統計的是總的數量

4. thinkphp鍋氱殑session璐鐗╄濺錛屾眰璇︾粏浠g爜銆傛湁瀹屾暣渚嬪瓙鐨勫彲浠ュ彂涓嬨傞潪甯告劅璋

<?php


classCartTool{
privatestatic$ins=null;
private$items=array();

finalprotectedfunction__construct(){
}

finalprotectedfunction__clone(){
}

//鑾峰彇瀹炰緥
protectedstaticfunctiongetIns(){
if(!(self::$insinstanceofself)){
self::$ins=newself();
}

returnself::$ins;
}


//鎶婅喘鐗╄濺鐨勫崟渚嬪硅薄鏀懼埌session閲
publicstaticfunctiongetCart(){
if(!isset($_SESSION['cart'])||!($_SESSION['cart']instanceofself)){
$_SESSION['cart']=self::getIns();
}

return$_SESSION['cart'];
}


/*
娣誨姞鍟嗗搧
paramint$id鍟嗗搧涓婚敭
paramstring$name鍟嗗搧鍚嶇О
paramfloat$ 鍟嗗搧浠鋒牸
paramint$num璐鐗╂暟閲
*/
publicfunctionaddItem($id,$name,$price,$brand,$thumb,$num=1){

if($this->hasItem($id)){//濡傛灉璇ュ晢鍝佸凡緇忓瓨鍦,鍒欑洿鎺ュ姞鍏舵暟閲
$this->incNum($id,$num);
return;
}

$item=array();
$item['id']=$id;
$item['name']=$name;
$item['price']=$price;
$item['brand']=$brand;
$item['thumb']=$thumb;
$item['num']=$num;

$this->items[$id]=$item;

return$this->items[$id];


}


/*
淇鏀硅喘鐗╄濺涓鐨勫晢鍝佹暟閲
paramint$id鍟嗗搧涓婚敭
paramint$num鏌愪釜鍟嗗搧淇鏀瑰悗鐨勬暟閲,鍗崇洿鎺ユ妸鏌愬晢鍝佺殑鏁伴噺鏀逛負$num
*/
publicfunctionmodNum($id,$num=1){
if(!$this->hasItem($id)){
returnfalse;
}

$this->items[$id]['num']=$num;

}


/*
鍟嗗搧鏁伴噺澧炲姞1
*/
publicfunctionincNum($id,$num=1){
if($this->hasItem($id)){
$this->items[$id]['num']+=$num;
}
}


/*
鍟嗗搧鏁伴噺鍑忓皯1
*/
publicfunctiondecNum($id,$num=1){
if($this->hasItem($id)){
$this->items[$id]['num']-=$num;
}

//濡傛灉鍑忓皯鍚,鏁伴噺涓0浜,鍒欐妸榪欎釜鍟嗗搧浠庤喘鐗╄濺鍒犳帀
if($this->items[$id]['num']<1){
$this->delItem($id);
}
}


/*
鍒ゆ柇鏌愬晢鍝佹槸鍚﹀瓨鍦
*/
publicfunctionhasItem($id){
returnarray_key_exists($id,$this->items);
}


/*
鍒犻櫎鍟嗗搧
*/
publicfunctiondelItem($id){
unset($this->items[$id]);
}


/*
鏌ヨ㈣喘鐗╄濺涓鍟嗗搧鐨勭嶇被
*/
publicfunctiongetCnt(){
returncount($this->items);
}


/*
鏌ヨ㈣喘鐗╄濺涓鍟嗗搧鐨勪釜鏁
*/
publicfunctiongetNum(){
if($this->getCnt()==0){
return0;
}

$sum=0;

foreach($this->itemsas$item){
$sum+=$item['num'];
}

return$sum;
}


/*
鏌ヨ㈣喘鐗╄濺涓鍟嗗搧鐨勬婚噾棰
*/
publicfunctiongetPrice(){
if($this->getCnt()==0){
return0;
}

$price=0.0;

foreach($this->itemsas$item){
$price+=$item['num']*$item['price'];
}

return$price;
}/*
榪斿洖璐鐗╄濺涓鐨勬墍鏈夊晢鍝
*/

publicfunctionall(){
return$this->items;
}

/*
娓呯┖璐鐗╄濺
*/
publicfunctionclear(){
$this->items=array();
}
}




浠ヤ笂鏄綾繪枃浠訛紝闇瑕佸紩鍏ョ殑銆



$cart=CartTool::getCart();
$car_goods_list=$cart->all();//鑾峰彇鍟嗗搧鍒楄〃

$goods_num=$cart->getNum();//鍟嗗搧涓鏁

$goods_sum_price=$cart->getPrice();//鎬諱環鏍

$cart->addItem($goods_id,$goods_list['goods_name'],$goods_list['shop_price'],$goods_list['brand'],$goods_list['goods_thumb'],$num);//澧炲姞涓浠跺晢鍝佸埌璐鐗╄濺

$cart->clear();//娓呯┖璐鐗╄濺
熱點內容
海康加密狗 發布:2025-01-06 01:45:39 瀏覽:460
快捷鍵打開Linux終端 發布:2025-01-06 01:29:58 瀏覽:196
python有什麼開發 發布:2025-01-06 01:29:57 瀏覽:476
怎麼上傳視頻騰訊視頻怎麼下載不了 發布:2025-01-06 01:29:18 瀏覽:265
手機搭建我的世界基岩版伺服器 發布:2025-01-06 01:19:20 瀏覽:890
西門子pid編程 發布:2025-01-06 01:15:26 瀏覽:630
sql日期條件 發布:2025-01-06 01:13:57 瀏覽:410
櫻花映射伺服器要怎麼下載 發布:2025-01-06 01:03:05 瀏覽:721
我的世界147伺服器地址大全 發布:2025-01-06 00:57:44 瀏覽:205
pta自己編譯器正確答案錯誤 發布:2025-01-06 00:53:14 瀏覽:128