PHP寫購物車
阿新 • • 發佈:2017-09-15
不存在 bootstra lns [1] clas 如果 star 改變 ()
首先寫登陸頁面,代碼如下:
<body> <h1>登入頁面</h1> <form action="dengrucl.php" method="post"> <div>帳號:<input type="text" name="zhang"/></div> <div>密碼:<input type="text" name="mi"/></div> <input type="submit" value="登入"/> </form> </body>
處理頁面代碼:
<?php session_start(); include ("../DBDA.class.php"); $db = new DBDA(); $zhang = $_POST["zhang"]; $pwd= $_POST["pwd"]; $sql = "select mi from yonghu WHERE zhang = ‘{$zhang}‘"; $arr = $db->Query($sql); if(!empty($zhang)&&!empty($mi)&&$mi = $arr){ $_SESSION["zhang"] = $zhang; header("location:zym.php"); } else { echo "登入失敗"; } ?>
接下來是主頁面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <script src="../bootstrap/js/jquery-1.11.2.min.js"></script> <script src="../bootstrap/js/bootstrap.min.js"></script> <link href="../bootstrap/css/bootstrap.min.css" /> </head> <body> <h1>水果列表</h1> <?phpsession_start(); ?> <table width="50%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代號</td> <td>名稱</td> <td>單價</td> <td>產地</td> <td>庫存</td> <td>操作</td> </tr>
</table> </body> </html>
處理代碼:
<?php
require "../DBDA.class.php";
$db = new DBDA();
$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><a href=‘gwc_chuli.php?ids={$v[0]}‘>加入購物車</a></td>
</tr>";
}
?>
購物車
if(empty($_SESSION["gwc"])) { //如果是第一次添加購物車,造一個二維數組存到SESSION裏面 $arr = array( array($ids,1) ); $_SESSION["gwc"] = $arr; } else { $arr = $_SESSION["gwc"]; $bs = false; //是否出現 foreach($arr as $v) { if($v[0]==$ids) { $bs = true; } } if($bs) { //2.如果該商品在購物車存在,讓數量加1 foreach($arr as $k=>$v) { if($v[0] == $ids) { $arr[$k][1]++; //這裏我們用一個變量K來取值和賦值,因為只是取到的值給了$v來代表數組的值,其實數組的值並不會因為$v改變二改變 } } $_SESSION["gwc"] = $arr; } else { //1.如果該商品購物車裏面不存在,造一個一維數組扔到二維裏面 $attr = array($ids,1); $arr[] = $attr; $_SESSION["gwc"] = $arr; } } header("location:gwc_list.php");//回到列表的界面
查看購物車
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <script src="../bootstrap/js/jquery-1.11.2.min.js"></script> <script src="../bootstrap/js/bootstrap.min.js"></script> <link href="../bootstrap/css/bootstrap.min.css" /> </head> <body> <h1>查看購物車</h1> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代號</td> <td>名稱</td> <td>單價</td> <td>數量</td> <td>操作</td> </tr> <?php session_start(); $arr = $_SESSION["gwc"]; require "DataBase.class.php"; $db = new DateBase(); $sum = 0; foreach ($arr as $k => $v) { $v[0]; $v[1]; $sql = "select * from fruit where ids=‘{$v[0]}‘"; $af = $db -> query($sql); echo "<tr> <td>{$v[0]}</td> <td>{$af[0][1]}</td> <td>{$af[0][2]}</td> <td>{$v[1]}</td> <td><a href=‘gwc_del.php?sy={$k}‘>刪除</a></td> </tr>"; $sum = $sum + $v[1] * $af[0][2]; } ?> </table> <div> <?php $gs = count($arr); //購物車裏面有幾個商品 echo "該購物車裏面總共有{$gs}種商品,商品的總價為:{$sum}元"; ?> </div> </body> </html>
刪除物品
<?php session_start(); $sy = $_GET["sy"]; //如果該水果數量大於1,減1 //如果該水果數量等於1 移除 $arr = $_SESSION["gwc"]; if ($arr[$sy][1] > 1) { //如果該水果數量大於1,減1 $arr[$sy][1]--; } else { unset($arr[$sy]); $arr = array_values($arr); } $_SESSION["gwc"] = $arr; header("location:gwc_chakan.php");
PHP寫購物車