购物网站
一、登陸頁面
封裝BDDA
<?php class DBDA{public $host="localhost"; //服務器地址public $uid="root"; //用戶名public $pwd="123"; //密碼public $dbname="shopping"; //數據庫名稱/*執行一條SQL語句的方法@param sql 要執行的SQL語句@param type SQL語句的類型,0代表查詢 1代表增刪改@return 如果是查詢語句返回二維數組,如果是增刪改返回true或false*/public function query($sql,$type=0){$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);$result = $db->query($sql);if($type){return $result;}else{return $result->fetch_all();}}public function strquery($sql,$type=0){$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);$result = $db->query($sql);if($type){return $result;}else{$arr = $result->fetch_all();$str = "";foreach($arr as $v){$str .= implode("^",$v)."|";}$str = substr($str,0,strlen($str)-1);return $str;}}//返回json數據的方法public function jsonquery($sql,$type=0){$db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);$result = $db->query($sql);if($type){return $result;}else{$arr = $result->fetch_all(MYSQLI_ASSOC);//關聯數組return json_encode($arr);//轉換json//json_decode()分解json}} }css樣式表
*{margin:0px auto;padding:0px;} #login{background-color:#0CF;width:30%;height:200px;margin-top:50px;border:5px double #060;} #dl{color:#00F;background-color:#9FF;height:30px;text-indent:10px;vertical-align:bottom;line-height:30px;} #pwd{background-color:#CFF;height:70px;} #sb{background-color:#060;width:200px;height:30px;color:#CFF;margin-top:3px;}布局樣式
<body><form method="post" action="dengluchuli.php"><div id="login"><div align="left" id="dl">登錄頁面</div><br /><div id="yhm" align="center">用戶名:<input type="text" placeholder="請輸入用戶名" name="uid"/></div><br /><div id="pwd" align="center">密 碼:<input type="password" placeholder="請輸入密碼" name="pwd"/></div><div align="center"><input type="submit" value="登錄" id="sb"/></div></div></form> </body>二、登錄處理
<?php session_start(); require_once "../DBDA.class.php"; $db = new DBDA();$uid = $_POST["uid"]; $pwd = $_POST["pwd"];$sql = "select password from login where username='{$uid}'"; $mm = $db->strquery($sql); if(!empty($pwd) && $pwd==$mm){$_SESSION["uid"] = $uid;header("location:main.php"); }else{header("location:denglu.php"); }?三、主頁的css樣式
*{margin:0px auto;padding:0px;}#shang{background-color:#0FF;width:100%;height:60px;vertical-align:bottom;line-height:90px;text-indent:10px;}#zuo{float:left;background-color:#999;width:30%;height:500px;} .caidan{width:80%;height:60px;background-color:#69F;margin-top:20px;text-align:center;vertical-align:middle;line-height:60px;font-weight:bold;}#yous{height:40px;width:100%;background-color:#FFF;vertical-align:bottom;line-height:60px;text-indent:10px;color:#009;font-size:20px;} #you{background-color:#06F;width:70%;height:500px;float:left;}table{color:#CF0;text-align:center;}?主頁布局
<body> <?phpsession_start();if(empty($_SESSION["uid"])){header("location:denglu.php");exit;} ?><div><div id="shang"><h2>超牛逼購物網</h2></div><div><div id="zuo"><div class="caidan"><a href="main.php">瀏覽商品</a></div><div class="caidan"><a href="zhanghu.php">查看賬戶</a></div><div class="caidan"><a href="gouwuche.php">查看購物車</a></div></div><div id="you"><div id="yous"> <?phprequire_once"../DBDA.class.php";$db = new DBDA();if(!empty($_SESSION["gwc"])){$arr = $_SESSION["gwc"];$count = count($arr);//購物車中商品的數量$sum = 0;//商品總價foreach($arr as $v){$sql = "select price from fruit where ids ='{$v[0]}'";$danjia = $db->strquery($sql);$sum +=$danjia*$v[1];}echo "購物車中總共有{$count}種商品,總價為:{$sum}元";} ?></div><table border="1" bordercolor="#CCFFFF" width="100%"><tr bgcolor="#339999" height="40"><td>水果代號</td><td>水果名稱</td><td>水果價格</td><td>水果產地</td><td>貨架</td><td>庫存量</td><td>操作</td></tr> <?php$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='tianjia.php?code={$v[0]}'><input type='button' value='添加購物車'/></a></td></tr>";} ?> </table></div></div></div> </body>賬號信息
<?phpsession_start();if(empty($_SESSION["uid"])){header("location:login.php");exit;} ?> <body> <div><div id="shang"><h2>賬戶信息</h2></div><div><div id="zuo"><div class="caidan"><a href="main.php">瀏覽商品</a></div><div class="caidan"><a href="zhanghu.php">查看賬戶</a></div><div class="caidan"><a href="gouwuche.php">查看購物車</a></div></div><div id="you"><div id="yous">賬戶基本信息</div><table border="1" bordercolor="#CCFFFF" width="100%"><tr bgcolor="#339999" height="40"><td>用戶名</td><td>姓名</td><td>賬戶余額</td></tr> <?php$uid = $_SESSION["uid"];require_once "../DBDA.class.php";$db = new DBDA();$sql = "select * from login where username = '{$uid}'";$arr = $db->query($sql);foreach($arr as $v){echo"<tr><td>{$v[0]}</td><td>{$v[1]}</td><td>{$v[3]}</td></tr>";} ?></table></div></div> </div> </body>購物車
<!doctype html> <html> <head> <meta charset="utf-8"> <title>無標題文檔</title> <link href="main.css" rel="stylesheet" type="text/css"> <style type="text/css">#st{background-color:#390;color:#FFF;font-size:20px;margin-left:450px;} </style> </head> <?phpsession_start();if(empty($_SESSION["uid"])){header("location:login.php");exit;} ?> <body><form action="dingdantijiao.php" method="post"><div><div id="shang"><h2>購物車</h2></div><div><div id="zuo"><div class="caidan"><a href="main.php">瀏覽商品</a></div><div class="caidan"><a href="zhanghu.php">查看賬戶</a></div><div class="caidan"><a href="gouwuche.php">查看購物車</a></div></div><div id="you"><div id="yous">購物車有以下商品</div><table border="1" bordercolor="#CCFFFF" width="100%"><tr bgcolor="#339999" height="40"><td>商品名稱</td><td>商品單價</td><td>購買數量</td><td>操作</td></tr> <?phprequire_once "../DBDA.class.php";$db = new DBDA();$sql = "select * from ordertails";$arr = $_SESSION["gwc"];foreach($arr as $v){$sql = "select name,price from fruit where ids='{$v[0]}'";$name = $db->query($sql);echo "<tr><td>{$name[0][0]}</td><td>{$name[0][1]}</td><td>{$v[1]}</td><td><a href='del.php?code={$v[0]}'><input type='button' value='刪除' /></a></td></tr>";} ?> </table><br><a href="dingdantijiao.php?ids={$v[0]}" rel="external nofollow" id="st">提交訂單</a></div></div></div></form></body> </html>刪除商品處理
<?php session_start(); $code = $_GET["code"]; $arr = $_SESSION["gwc"]; //var_dump($arr); //取索引2(數量) foreach ($arr as $k=>$v) {if($v[0]==$code){if($v[1]>1){//要刪除的數據$arr[$k][1]-=1;}else{//數量為1的情況下,移除該數組unset($arr[$k]);}}}$_SESSION["gwc"] = $arr; //記得扔到session里面 header("location:gouwuche.php"); //刪除完跳轉回去?提交訂單
<?php session_start(); $ids = $_GET["ids"]; //查看余額 $uid = $_SESSION["uid"]; require_once "../DBDA.class.php"; $db = new DBDA(); $sql = "select account from login where username='{$uid}'"; $arr = $db->query($sql,0); $aye = $arr[0][0];//余額 //var_dump($aye); if(!empty($_SESSION["gwc"])){$arr = $_SESSION["gwc"];$sum = 0;//$numbers = count($arr);foreach($arr as $v){$sql = "select * from fruit where ids='{$v[0]}'";$price = $db->query($sql,0);$dj = $price[0][2];$sum = $sum+$dj*$v[1];} }else{echo "您還未購買商品!";//header("shopping_list.php");exit; } //判斷余額是否滿足購買 if($aye>=$sum){//判斷庫存foreach($arr as $v){$skc = "select name,numbers from fruit where ids='{$v[0]}'";$akc = $db->query($sql,0);//var_dump($akc);$kc = $akc[0][4];//庫存//var_dump($kc);if($kc<$v[1]){echo "庫存不足!";exit;}}//提交訂單//賬戶扣除余額$skye = "update login set account=account-'{$sum}' where username='{$uid}'";$zhye = $db->query($skye,1);//扣除庫存foreach($arr as $v){$skckc = "update fruit set numbers=numbers-'{$v[1]}' where ids='{$v[0]}'";$sykc = $db->query($skckc,1);}//添加訂單$ddh = date("Y-m-d H:i:s");$time = time();$stjd = "insert into orders values('{$time}','{$uid}','{$ddh}')";$wcdh = $db->query($stjd,1);//添加訂單詳情foreach($arr as $v){$ddxq = "insert into orderdetails values('','{$ddh}','{$v[0]}','{$v[1]}')";$axq = $db->query($ddxq,1);} }else{echo "余額不足,請充值!";exit; } unset($_SESSION["gwc"]); header("location:main.php");
轉載于:https://www.cnblogs.com/xiaohaihuaihuai/p/8458792.html
總結
- 上一篇: Django 【补充】ORM多对多正向查
- 下一篇: ngDialog 点击窗口以外不允许关闭