php数据库购物车,php数据库购物车实现

php获取数据库信息到购物车页面

sql语句是select * from 你先打印出来查询的数据,再输出想要的数据在页面就行了

在黔西等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站设计 网站设计制作按需规划网站,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,成都外贸网站建设公司,黔西网站建设费用合理。

请教关于PHP购物车代码的数据库表和字段

PHP Code

div id="products-wrapper"

h1Products/h1

div class="products"

?php

//current URL of the Page. cart_update.php redirects back to this URL

$current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);

$results = $mysqli-query("SELECT * FROM cart ORDER BY id ASC");

if ($results) {

//fetch results set as object and output HTML

while($obj = $results-fetch_object())

{

echo 'div class="product"';

echo 'form method="post" action="cart_update.php"';

echo 'div class="product-thumb"img src="images/'.$obj-product_img_name.'"/div';

echo 'div class="product-content"h3'.$obj-product_name.'/h3';

echo 'div class="product-desc"'.$obj-product_desc.'/div';

echo 'div class="product-info"';

echo 'Price '.$currency.$obj-price.' | ';

echo 'Qty input type="text" name="product_qty" value="1" size="3" /';

echo 'button class="add_to_cart"Add To Cart/button';

echo '/div/div';

echo 'input type="hidden" name="product_code" value="'.$obj-product_code.'" /';

echo 'input type="hidden" name="type" value="add" /';

echo 'input type="hidden" name="return_url" value="'.$current_url.'" /';

echo '/form';

echo '/div';

}

}

?

/div

div class="shopping-cart"

h2Your Shopping Cart/h2

?php

if(isset($_SESSION["products"]))

{

$total = 0;

echo 'ol';

foreach ($_SESSION["products"] as $cart_itm)

{

echo 'li class="cart-itm"';

echo 'span class="remove-itm"a href="cart_update.php?removep='.$cart_itm["code"].'return_url='.$current_url.'"×/a/span';

echo 'h3'.$cart_itm["name"].'/h3';

echo 'div class="p-code"P code : '.$cart_itm["code"].'/div';

echo 'div class="p-qty"Qty : '.$cart_itm["qty"].'/div';

echo 'div class="p-price"Price :'.$currency.$cart_itm["price"].'/div';

echo '/li';

$subtotal = ($cart_itm["price"]*$cart_itm["qty"]);

$total = ($total + $subtotal);

}

echo '/ol';

echo 'span class="check-out-txt"strongTotal : '.$currency.$total.'/strong a href="view_cart.php"Check-out!/a/span';

echo 'span class="empty-cart"a href="cart_update.php?emptycart=1return_url='.$current_url.'"Empty Cart/a/span';

}else{

echo 'Your Cart is empty';

}

?

/div

cart_update.php

PHP Code

?php

session_start();

include_once("config.php");

//empty cart by distroying current session

if(isset($_GET["emptycart"]) $_GET["emptycart"]==1)

{

$return_url = base64_decode($_GET["return_url"]); //return url

session_destroy();

header('Location:'.$return_url);

}

//add item in shopping cart

if(isset($_POST["type"]) $_POST["type"]=='add')

{

$product_code = filter_var($_POST["product_code"], FILTER_SANITIZE_STRING); //product code

$product_qty = filter_var($_POST["product_qty"], FILTER_SANITIZE_NUMBER_INT); //product code

$return_url = base64_decode($_POST["return_url"]); //return url

//limit quantity for single product

if($product_qty 10){

die('div align="center"This demo does not allowed more than 10 quantity!br /a href=""Back To Products/a./div');

}

//MySqli query - get details of item from db using product code

$results = $mysqli-query("SELECT product_name,price FROM cart WHERE product_code='$product_code' LIMIT 1");

$obj = $results-fetch_object();

if ($results) { //we have the product info

//prepare array for the session variable

$new_product = array(array('name'=$obj-product_name, 'code'=$product_code, 'qty'=$product_qty, 'price'=$obj-price));

if(isset($_SESSION["products"])) //if we have the session

{

$found = false; //set found item to false

foreach ($_SESSION["products"] as $cart_itm) //loop through session array

{

if($cart_itm["code"] == $product_code){ //the item exist in array

$product[] = array('name'=$cart_itm["name"], 'code'=$cart_itm["code"], 'qty'=$product_qty, 'price'=$cart_itm["price"]);

$found = true;

}else{

//item doesn't exist in the list, just retrive old info and prepare array for session var

$product[] = array('name'=$cart_itm["name"], 'code'=$cart_itm["code"], 'qty'=$cart_itm["qty"], 'price'=$cart_itm["price"]);

}

}

if($found == false) //we didn't find item in array

{

//add new user item in array

$_SESSION["products"] = array_merge($product, $new_product);

}else{

//found user item in array list, and increased the quantity

$_SESSION["products"] = $product;

}

}else{

//create a new session var if does not exist

$_SESSION["products"] = $new_product;

}

}

//redirect back to original page

header('Location:'.$return_url);

}

//remove item from shopping cart

if(isset($_GET["removep"]) isset($_GET["return_url"]) isset($_SESSION["products"]))

{

$product_code = $_GET["removep"]; //get the product code to remove

$return_url = base64_decode($_GET["return_url"]); //get return url

foreach ($_SESSION["products"] as $cart_itm) //loop through session array var

{

if($cart_itm["code"]!=$product_code){ //item does,t exist in the list

$product[] = array('name'=$cart_itm["name"], 'code'=$cart_itm["code"], 'qty'=$cart_itm["qty"], 'price'=$cart_itm["price"]);

}

//create a new product list for cart

$_SESSION["products"] = $product;

}

//redirect back to original page

header('Location:'.$return_url);

}

?

view_cart.php

PHP Code

div class="view-cart"

?php

$current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);

if(isset($_SESSION["products"]))

{

$total = 0;

echo 'form method="post" action="paypal-express-checkout/process.php"';

echo 'ul';

$cart_items = 0;

foreach ($_SESSION["products"] as $cart_itm)

{

$product_code = $cart_itm["code"];

$results = $mysqli-query("SELECT product_name,product_desc, price FROM cart WHERE product_code='$product_code' LIMIT 1");

$obj = $results-fetch_object();

echo 'li class="cart-itm"';

echo 'span class="remove-itm"a href="cart_update.php?removep='.$cart_itm["code"].'return_url='.$current_url.'"×/a/span';

echo 'div class="p-price"'.$currency.$obj-price.'/div';

echo 'div class="product-info"';

echo 'h3'.$obj-product_name.' (Code :'.$product_code.')/h3 ';

echo 'div class="p-qty"Qty : '.$cart_itm["qty"].'/div';

echo 'div'.$obj-product_desc.'/div';

echo '/div';

echo '/li';

$subtotal = ($cart_itm["price"]*$cart_itm["qty"]);

$total = ($total + $subtotal);

echo 'input type="hidden" name="item_name['.$cart_items.']" value="'.$obj-product_name.'" /';

echo 'input type="hidden" name="item_code['.$cart_items.']" value="'.$product_code.'" /';

echo 'input type="hidden" name="item_desc['.$cart_items.']" value="'.$obj-product_desc.'" /';

echo 'input type="hidden" name="item_qty['.$cart_items.']" value="'.$cart_itm["qty"].'" /';

$cart_items ++;

}

echo '/ul';

echo 'span class="check-out-txt"';

echo 'strongTotal : '.$currency.$total.'/strong ';

echo '/span';

echo '/form';

}else{

echo 'Your Cart is empty';

}

?

/div

/div

php里用数据库实现购物车是怎么个思路,求高手解答

数据库是建立一个购物车的表的。用户ID作外链。用户选定一种商品,存商品相关属性入表。用户查看购物车时只要把有该用户ID的购物信息读出来就行了。维护这张表就可以体现出用户的购物行为了。

PHP怎么做购物车?

购物车

有两种实现方式,一种是保存在数据库,另外一种是session

保存在数据库的不会以为关闭浏览器而消失,session会因为关闭浏览器就没有了。

原理是把每个商品的信息存到一个数组里面,然后以这个商品的id作为键值,然后吧数组存到session里面就行,

如果是存入数据库的话,就用关联数据存一下就行的

我用PHP做的购物车,为什么每次往购物车中添加不同商品 ,购物车中确显示的同一件商品啊

这个需要看你的购物车结构。

一般一个属性的商品是在一条数据里面,多次加入只是更改数量

不同属性的商品应该分多条数据保存。最后购物车统计的是总的数量

php关于用数据库作为购物车的原理

我来解答一下你的疑惑

买了两个产品。那就是执行了两次

insert

into

temp_table

(uid,productid,pnum,poneprice,ptotalprice)

如果

productid相同则,

pnum

=

pnum+1;

ptotalprice

=

pnum*poneprice

假设前提是

当前两条记录的产品不同,那么购物车列表则是循环读取temp_table列出现有符合条件之产品,数量,价格。

修改2个产品数量的时候,

提交后,同样的文本框pnum为一个数组,productid为一个数组

获取pnum,productid,并且用

split分析后,

分别update

update

temp_table

set

pnum='".$pnum[0]."',ptotalprice='..省略.'

where

uid=自己的uid

and

productid='".$productid[0]."'

注意,这里数组下标要对应好,你可以用个循环。

最后,当订单下好之后,要把临时表的数据转移到正式表中,并且清理掉当前这个用户临时表的内容即可。


当前文章:php数据库购物车,php数据库购物车实现
文章起源:http://pwwzsj.com/article/hdepgs.html