首頁  >  文章  >  後端開發  >  淘寶怎麼加入購物車 php 購物車實例(申精)

淘寶怎麼加入購物車 php 購物車實例(申精)

WBOY
WBOY原創
2016-07-29 08:39:482042瀏覽

if(! $session && ! $scid) {
/*
session用來區別每一個購物車,相當於每個車的身份證號;
scid只用來標識一個購物車id號,可以看做是每輛車的名字;
當該購物車的id和session值兩者都不存在時,就產生一個新購物車
*/
$session = md5( uniqid(rand()));
/*
產生一個唯一的購物車session號
rand()先產生個隨機數,uniqid()再在該隨機數的基礎上產生一個獨一無二的字串,最後對該字串進行md5
*/
SetCookie(scid, $session, time() + 14400);
/*
設定該購物車cookie
變數名:scid(不知到這裡是不是少了一個$號呢?=》更正:scid要加“”)
變數值: $session
有效時間:當前時間+14400秒(4小時內)
關於setcookie函數的詳細用法,大家還是會參考php手冊吧~
*/
}
class Cart { //開始購物車類別
function check_item( $table, $session, $product) {
/*
查驗物品(表名,session,物品)
*/
$query = SELECT * FROM $table WHERE session=' $session' AND product=' $ product' ;
/*
看一看'表'裡該'購物車'中有沒有該'產品'
即,該產品有沒有已經放入購物車
*/
$result = mysql_query( $query);
if(! $result) {
return 0;
}
/*
查詢失敗
*/
$ numRows = mysql_num_rows( $result);
if( $numRows == 0) {
return 0;
/*
若找不到,則回傳0
*/
} else {
$row = mysql_fetch_object( $result);
return $row->quantity;
/*
若找到,則回傳該物品數量
這裡有必要解釋一下my_fetch_object函數(下面還會用到):
【mysql_fetch_object() 和mysql_fetch_array() 類似,只有一點差異- 傳回一個物件而不是陣列。】
上面這句話摘自php手冊,說得應該很明白了吧~
簡單的說就是,取一條記錄中的某個字段,應該用“->”而不是像數組一樣用下標
*/
}
}
function add_item( $table, $session, $product, $quantity) {
/*
新增物品(表名,session,物品,數量)
*/
$qty = $this->check_item( $table, $session, $product);
/*
呼叫上面那個函數,先檢查該類物品有沒有已經放入車中
*/
if( $qty == 0) {
$query = INSERT INTO $table (session, product, quantity) VALUES ;
$query .= ($query .= ($query .= ($query .= ($query .= ($query) . ' $session', ' $product', ' $quantity') ;
mysql_query( $query);
/*若車中沒有,則像車中加入該物品*/
} else {
$quantity += $qty; //若有,則在原有基礎上增加數量
$query = UPDATE $table SET quantity=' $quantity' WHERE session=' $session' AND ;
$query .= product=' $product' ;
mysql_query( $query);
/*
並修改資料庫
*/
}
}
function delete_item( $table, $session, $product) {
/*
刪除物品(表名,session,物品)
*/
$query = DELETE FROM $table WHERE session=' $session' AND product=' $product' ;
mysql_query( $query);
/*
刪除該購物車中該類物品
*/
}
function modify_quantity( $table , $session, $product, $quantity) {
/*
修改物品數量(表名,session,物品,數量)
*/
$query = UPDATE $table SET quantity=' $quantity' WHERE session=' $session' ;
$query .= AND product=' $product' ;
mysql_query( $query);
/*
將該物品數量修改為參數中的值
*/
}
function clear_cart( $table, $session) {
/*
清空購物車(沒什麼好說)
*/
$query = DELETE FROM $table WHERE session=' $session' ;
mysql_query( $query);
}
function cart_total( $table, $session) {
/*
車中物品總價
*/
$query = SELECT * FROM $table WHERE session=' $session' ;
$result = mysql_query( $query);
/*
先把車中所有物品取出
*/
if(mysql_num_rows( $result) > 0) {
while( $row = mysql_fetch_object( $result)) {
/*
如果物品數量>0個,則逐一判斷價格併計算
*/
$query = SELECT price FROM inventory WHERE product=' $row->product' ;
$invResult = mysql_query( $query);
/ *
從inventory(庫存)表中找出該物品的價格
*/
$row_price = mysql_fetch_object( $invResult);
$total += ( $row_price->price * $row- >quantity);
/*
總價+= 該物品價格* 該物品數量
( 大家應該能看懂吧)
*/
}
}
return $total; //回傳總價錢
}
function display_contents( $table, $session) {
/*
取得車中所有物品的詳細資訊
*/
*/
$count = 0;
/*
物品數量計數注意,該變數不僅僅為了對物品數量進行統計,更重要的是,它將作為返回值數組中的下標,用來區別每一個物品!
*/
$query = SELECT * FROM $table WHERE session=' $session' ORDER BY id ;
$result = mysql_query( $query);
/*
先取出車中所有物品
*/
while( $row = mysql_fetch_object( $result)) {
/*
分別對每個物品取詳細資料
*/
$query = SELECT * FROM inventory WHERE product=' $row->product' ;
$result_inv = mysql_query( $query);
/*
從inventory(庫存)表中查找該物品的相關資訊
*/
$row_inventory = mysql_fetch_object( $result_inv);
$contents[product][ $count] = $row_inventory->product;
$contents[price][ $counts[price][ $count. ->price;
$contents[quantity][ $count] = $row->quantity;
$contents[total][ $count] = ( $row_inventory->price * $row->quantity);
$contents[description][ $count] = $row_inventory->description;
/*
把所有關於該物品的詳細資訊放入$contents數組
$contents是一個二維數組
第一組下標是區別每個物品各個不同的資訊(如物品名,價錢,數量等等)
第二組下標是區別不同的物品(這就是前面定義的$count變量的作用)
*/
$count++; //物品數量加一(即下一個物品)
}
$total = $this->cart_total( $table, $session);
$contents[final] = $total;
/*
同時呼叫上面那個cart_total函數,計算下總價錢
並放入$contents數組
*/
return $ contents;
/*
將此陣列回傳
*/
}
function num_items( $table, $session) {
/*
傳回物品種類總數(也同樣是說,兩個相同的東西算一種好像是廢話- -!)
*/
$query = SELECT * FROM $table WHERE session=' $session' ;
$result = mysql_query( $query);
$num_rows = mysql_num_rows( $result);
return $num_rows;
/*
取出車中所有物品,取得此操作影響的資料庫行數,即物品總數(沒什麼好說的)
*/
}
function quant_items( $table, $session) {
/*
回傳所有物品總數(也就是說,兩個相同的東西也算兩個物品- -#)
*/
$quant = 0;// 物品總量
$query = SELECT * FROM $table WHERE session=' $session' ;
$result = mysql_query( $query);
while( $row = mysql_fetch_object( $result)) {
/*
把每種物品逐一取出
*/
$quant += $row- >quantity; //該物品數量加到總量裡去
}
return $quant; //回傳總量
}
}

以上就介紹了淘寶怎麼加入購物車 php 購物車實例(申精),包括了淘寶怎麼加入購物車方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn