第20天 - 来试着做一个简易购物系统(4)购物车卡关了,先确定能新增资料:(

昨天把购物车的资料表建好了(表 car)。

今天购物车制作的理想步骤应该是:
按下"加到购物车按钮">> 把会员id、商品相关讯息 加到 表car >> 购物车做价格统计,然後列印出来。
上面动作会牵扯到商品数量,所以第18天的文章可以看一下。
https://ithelp.ithome.com.tw/articles/10266669

注意!!因为我的写法,会异动到商品的资料表之php
要写在"列印的程序码"下面,否则会出错 (第18天文章也有提到)

以下 VALUES('$st_id','$p_id','$p_name','$p_price','$buy_amount')";
里面的变数也请参考 第18天的文章(里面的列印程序码)

<?php
/*按下"送出购买"*/
if(isset($_POST['buy_it_btn']))
{
	//减少相应商品数量
	$buy_amount = $_POST['buy_amount']; 
	$p_id =$_POST['P_ID'];

	//最终数量 = 库存数量 - 欲购买数量
	$f_amount = $p_amount - $buy_amount;
	$st_id = $_SESSION['auth_user']['user_id']; 

	if($f_amount > 0)
	{
		$query2="UPDATE s_product
			 SET product_amount ='$f_amount'
			 WHERE product_id ='$p_id' ";
	}
	$query_run2 = mysqli_query($con,$query2);


	$queryA = "INSERT INTO car(staff_id, product_id, car_p_name, car_p_price, car_p_amount)
			   VALUES('$st_id','$p_id','$p_name','$p_price','$buy_amount')";
	$query_runA = mysqli_query($con,$queryA);


	if($query_run2 && $query_runA)
	{
		$_SESSION['status'] =" 购买成功!!!!!!!!!!";
		header('Location: Hello.php');
	}
	else
	{
		$_SESSION['status'] =" 剩余数量不足,购买失败~~";
		header('Location: Hello.php');
	}
}
?>

补充:php若不会出错,尽量可以写在最上面,因为这样可以不用刷新页面,就可以更新最新内容(没记错的话)。不过因为我这购物车写法会跳转页面(必定刷新)所以写下面也影响不大...吧:D

【突然想到的(预想一下未来规划): 日後该如何把每笔购物车内容集中在一笔订单呢??
我们可依据会员ID来抓属於我们的购物车资料,再来是...
我想到的是,先新增"订单的资料表" 按下"送出订单"之後就会新增一个"订单ID",然後再把每个购物车的资料表(car)追加 "订单ID 栏位"来做区分。
若 表car中的 "订单ID"是-1的话就视为"无效(已取消)订单"。有挂上的话再把它GROUP BY起来,集中成一笔订单!
(以上构想,我也不知道是不是对的,之後试了才知道:D)】

【那现在又有个问题:我该依据什麽来统计当前购物车的价格呢?
把 表car 追加的"订单ID" <<若此栏位值是-2的话则视为"未生效订单"再把它集中起来?】

今天先这样(确定能新增表car的资料),下次见。


<<:  Day05-v-on事件处理

>>:  Day5# For loop

NNI安装後的验证03

这回,我们将焦点放在WebUI的trials detail中的Hyper-parameter。 请在...

第4章:档案系统结构介绍

前言 从上一章节,我们学会了基本的登入与登出桌面环境,以及如何将终端机从桌面环境进行打开,还有基本的...

[Day30] Angular 的 Routing

终於来到第三十天了~~~~!不过其实本系列不会在今天结束,我们的前端 app 丑得要命,也还没布署到...

Python Flask 架站笔记 第1天 基本介绍

一年多前有去外面上课(怕干扰课程招生我就不说是哪一门课程了),因为工作主要内容是数据分析,这方面的开...

学习Python纪录Day18 - 散布图、长条图、圆饼图

Scatter Plots 散布图 呼叫scatter(),参数依序是x轴和y轴 plt.scatt...