1. 程式人生 > >PHP寫購物車

PHP寫購物車

不存在 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>

        <?php
        
session_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寫購物車