php簡單實作加入購物車功能案例

小云云
發布: 2023-03-17 14:00:01
原創
23329 人瀏覽過

隨著雙十一的到來,我們的購物車如釋重負,這篇文章對PHP開發人員可就大有用途了,就是如何用PHP實現簡單的加入購物車功能。在寫購物車之前,我們首先要構思一下,我們需要先從資料庫中調出一張表格,這裡用的是fruit表,其次是登入表,我用的是login表,用來調使用者名稱和密碼的,所有的都準備好之後就要考慮放入購物車是會有三種情況的:

第一種情況:購物車裡面什麼都沒有

第二個情況:購物車裡面已經有此產品了,再次加入這種情況下考慮到的是數量要+1

第三種情況:購物車裡面有產品了,但是沒有此產品

#下圖是用到的資料庫表格:

php簡單實作加入購物車功能案例

php簡單實作加入購物車功能案例

#下面是登入頁面的程式碼:

<body>
<form action="chuli.php" method="post">
 <p style="margin-left: 500px; margin-top: 200px;
 height: 250px; width: 250px; border: 1px dashed black">
 <p style="margin-left: 100px; "><h3>登录</h3></p>
 <p style="margin-top: 20px">用户名:<input type="text" name="uid"/></p><br/>
 <p>密 码:<input type="password" name="pwd"/></p><br/>
 <p style="margin-left: 180px"><input type="submit" value="登录"/></p>
 </p>
</form>
</body>
登入後複製

登入頁面寫好之後,需要進入處理頁面,從資料庫中調出使用者名稱和密碼:

<?php
session_start(); //开启session 必须要写到第一行
header("Content-type:text/html;charset=utf-8");
$uid=$_POST["uid"]; //从登录页面获取到用户名和密码
$pwd=$_POST["pwd"];
include("DADB.class.php");
$db=new DADB();
$sql="select password from login where username=&#39;{$uid}&#39;";
$arr=$db->Query($sql);
if($arr[0][0]==$pwd && !empty($pwd)) //判断所填写的密码和取到的密码是一样的,而且密码不能为空
{
 $_SESSION["uid"]=$uid;
 header("location:main.php");
}
else
{
 echo"登录失败";
}
登入後複製

登入頁面如圖所示:

php簡單實作加入購物車功能案例

##下面要進入主頁面了,從資料庫中把所有的水果資訊調出來,然後我們再來實現加入購物車這一項功能

<h2>大苹果购物网</h2>
<?php
session_start();
include("DADB.class.php");
$db=new DADB();
?>
<table border="1" width="100%" cellpadding="0" cellspacing="0">
 <tr>
 <td>代号</td>
 <td>水果名称</td>
 <td>水果价格</td>
 <td>原产地</td>
 <td>货架</td>
 <td>库存量</td>
 <td></td>
 </tr>
 <?php
 $uid=$_SESSION["uid"];
 $sql="select * from fruit";
 $arr=$db->Query($sql);
 foreach($arr as $v)
 {
 echo"<tr>
 <td>{$v[0]}</td> // 从数据库调出我们所需要的内容
 <td>{$v[1]}</td>
 <td>{$v[2]}</td>
 <td>{$v[3]}</td>
 <td>{$v[4]}</td>
 <td>{$v[5]}</td>
 <td><a href=&#39;add.php?ids={$v[0]}&#39;>购买</a></td> //这里的购买相当于添加购物车的功能 
 </tr>";
 }
 ?>
登入後複製
<?php
 //这里显示的是 购物车有多少产品,和产品的总价格
 $ann=array();
 if(!empty($_SESSION["gwc"]))
 {
 $ann=$_SESSION["gwc"];
 }
 $zhonglei = count($ann); 
 $sum=0;
 foreach($ann as $k)
 {
 $sql1="select price from fruit where ids=&#39;{$v[0]}&#39;";
 $danjia=$db->Query($sql1);
 foreach($danjia as $n)
 {
  $sum=$sum + $n[0]*$k[1];
 }
 }
 echo"购物车有<mark>{$zhonglei}</mark>种商品,总价格为<mark>{$sum}</mark>元";
 ?>
</table>
<p>
<a href="gouwuche.php" rel="external nofollow" rel="external nofollow" >查看购物车</a>
<a href="main.php" rel="external nofollow" rel="external nofollow" >浏览商品</a>
<a href="zhanghu.php" rel="external nofollow" rel="external nofollow" >查看账户</a> </p>
</body>
登入後複製

主頁如圖所示:

php簡單實作加入購物車功能案例

最重要的就是新增購物車頁面了

<?php
session_start();
$ids = $_GET["ids"];
if(empty($_SESSION["gwc"]))
{
 //1.购物车是空的,第一次点击添加购物车
 $arr = array(
 array($ids,1)
 );
 $_SESSION["gwc"]=$arr;
}
else
{
 //不是第一次点击
 //判断购物车中是否存在该商品
 $arr = $_SESSION["gwc"]; //先存一下
 $chuxian = false;
 foreach($arr as $v)
 {
 if($v[0]==$ids)
 {
  $chuxian = true;
 }
 }
 if($chuxian)
 {
 //3.如果购物车中有该商品
 for($i=0;$i<count($arr);$i++)
 {
  if($arr[$i][0]==$ids)
  {
  $arr[$i][1]+=1;
  }
 }
 $_SESSION["gwc"] = $arr;
 }
 else
 {
 //2.如果购物车中没有该商品
 $asg = array($ids,1);
 $arr[] = $asg;
 $_SESSION["gwc"] = $arr;
 }
}
header("location:gouwuche.php");
登入後複製

這樣就可以顯示到購物車的頁面了,購物車的頁面代碼如下:

<h2>购物车中有以下商品:</h2>
<table cellpadding="0" cellspacing="0" border="1" width="100%">
 <tr>
 <td>商品名称</td>
 <td>商品单价</td>
 <td>购买数量</td>
 <td></td>
 </tr>
 <?php
 session_start();
 //$uid=$_SESSION["uid"];
 $arr=array();
 if(!empty($_SESSION["gwc"]))
 {
 $arr=$_SESSION["gwc"];
 }
 include("DADB.class.php");
 $db=new DADB();
 foreach($arr as $v)
 {
 global $db;
 $sql="select * from fruit where ids=&#39;{$v[0]}&#39;";
 $att=$db -> Query($sql,1);
 foreach($att as $n)
 {
  echo"<tr>
 <td>{$n[1]}</td>
 <td>{$n[2]}</td>
 <td>{$v[1]}</td>
 <td><a href=&#39;shanchu.php?ids={$v[0]}&#39;>删除</a></td>
 </tr>";}
 }
 ?>
</table>
<p>
<a href="gouwuche.php" rel="external nofollow" rel="external nofollow" >查看购物车</a> 
<a href="main.php" rel="external nofollow" rel="external nofollow" >浏览商品</a> 
<a href="zhanghu.php" rel="external nofollow" rel="external nofollow" >查看账户</a> </p> 14 15
 </body>
登入後複製
這樣進入購物車頁面顯示如圖所示:

php簡單實作加入購物車功能案例

以上只是一個簡單的PHP實作加入購物車的案例,後面我們還要對它的功能進行完善,比如說加入購物車後,資料庫中的產品數量減少、購物車中產品的刪除等操作。希望這節內容呢能幫助大家,讓大家對購物車開發有更清楚的想法。

相關推薦:

php購物車實作程式碼實例總結

php購物車php購物車實作程式碼

php購物車程式碼_PHP教學

以上是php簡單實作加入購物車功能案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!