简单购物车功能笔记.docx
- 文档编号:5015958
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:16
- 大小:56.19KB
简单购物车功能笔记.docx
《简单购物车功能笔记.docx》由会员分享,可在线阅读,更多相关《简单购物车功能笔记.docx(16页珍藏版)》请在冰豆网上搜索。
简单购物车功能笔记
Day01(原始方法实现购物车)2
1.session:
会话2
1.1session生命周期2
1.2session特点2
1.3session_start()注意:
2
1.4session文件的存储位置(php.ini)2
1.5session与cookie区别(面试题)3
1.6跨页面传参的方法有哪些3
2.购物车功能:
网上购物3
2.1流程3
2.2实现购物车功能的方式3
2.3session中存储的数据的结构3
2.3.1《index.php》:
商城首页4
2.3.2《act.php》:
操纵购物车5
2.3.2《car.php》购物车页面6
Day02(用TP框架实现购物车)8
一、复习8
1.session会话8
1.1生命周期8
1.2session特点8
1.3session_start()注意:
8
1.4存储数据9
2跨页面传参(跨页面传递数据)9
二、购物车功能9
1.1流程9
1.2实现购物车功能的方式9
1.3项目目录9
1.4具体流程10
1.5ThinkPHP配置文件10
1.6.数据表11
1.7页面重定向(跳转页面)11
1.8ThinkPHP遍历数组的标签11
2数据库表11
Day01(原始方法实现购物车)
1.session:
会话
1.1session生命周期
1、打开浏览器创建
2、关闭浏览器销毁
1.2session特点
1、跨页面
2、不跨用户
1.3session_start()注意:
1、使用session之前,必须先开启会话
2、一个页面最多只能开启一次会话
3、在session_start()之前不能有任何的输出语句
4、php.ini配置文件
session.auto_start=0不自动开启
session.auto_start=1自动开启
设置session是否自动开启
1.4session文件的存储位置(php.ini)
;session.save_path="/tmp"
没有设置:
默认存储在系统的临时目录下
自己设定session的存储位置:
session.save_path="f:
/hello"
存储数据
$_SESSION["名"]=值;
注意:
session中可以存储任意类型的数据
获得数据
$变量=$_SESSION["名"];
1.5session与cookie区别(面试题)
session与cookie相同:
跨页面、不跨用户
session与cookie不相同:
1、session可以存储任意类型的数据,但cookie只能存储字符串
2、cookie产生在服务器端、存储在客户端
session产生在服务器端、存储在服务器端
1.6跨页面传参的方法有哪些
1、表单提交
2、url传参
3、cookie
4、session
5、database
2.购物车功能:
网上购物
2.1流程
index.php-----------act.php-----------car.php
商城首页操纵购物车购物车页面
2.2实现购物车功能的方式
cookie不用
session速度快、对用户不友好
database速度慢、对用户友好
2.3session中存储的数据的结构
$_SESSION["car"]=array(
3=>array("bookId"=>3,"bookName"=>值,"price"=>值),
6=>array("bookId"=>6,"bookName"=>值,"price"=>值),
8=>array("bookId"=>8,"bookName"=>值,"price"=>值),
9=>array("bookId"=>9,"bookName"=>值,"price"=>值),
);
$bookId=6;
$_SESSION["car"][$bookId]==NULL
2.3.1《index.php》:
商城首页
//点击了"购买"按扭
functionshopBook(bookId)
{
window.location="act.php?
bookId="+bookId;
}
商城首页
center;"> #abcedf">编号 名称
php
$conn=mysql_connect("localhost","root","root");
mysql_query("setnamesutf8");
mysql_select_db("shop");
$rs=mysql_query("select*frombookInfo");
while($row=mysql_fetch_array($rs))
{
echo"
echo"
echo"
echo"
echo"
echo"
}
//mysql_free_result($rs);
//mysql_close($conn);
?
>
2.3.2《act.php》:
操纵购物车
php
header("content-type:
text/html;charset=utf-8");
session_start();
//操纵购物车
$act=$_GET['act'];
if($act=='delete'){
$bookId=$_GET['bookId'];
//清空session['car']里的值
unset($_SESSION['car'][$bookId]);
}elseif($act=='clear'){
//清空session里的值
unset($_SESSION['car']);
}else{
//1、获得要购买的产品信息
$bookId=$_GET['bookId'];
//var_dump($id);
$conn=mysql_connect("localhost","root","root");
mysql_query("setnamesutf8");
mysql_select_db("shop");
$rs=mysql_query("select*frombookInfowherebookId=".$bookId);
//var_dump($rs);exit();
$row=mysql_fetch_array($rs);
mysql_free_result($rs);
mysql_close($conn);
$bookinfo=array(
"bookId"=>$row["bookId"],
"bookName"=>$row["bookName"],
"price"=>$row["price"],
"bookcount"=>1
);
//2、将产品信息添加到购物车(添加到session中)
if($_SESSION['car'][$bookId]!
=null){
$_SESSION['car'][$bookId]['bookcount']++;
}else{
$_SESSION['car'][$bookId]=$bookinfo;
}
}
//var_dump($bookinfo);
//3、跳转到购物车页面
header("location:
car.php");
2.3.2《car.php》购物车页面
php
header("content-type:
text/html;charset=utf-8");
session_start();
//获得session中的产品信息
$product=$_SESSION['car'];
//print_r($_SESSION);exit();
?
>
DOCTYPEhtml>
functiondel(bookId){
window.location="act.php?
act=delete&bookId="+bookId;
}
functionclearCar(){
if(confirm('是否确定清空')){
window.location="act.php?
act=clear";
}
}
我的购物车
center;"> #abcedf">编号 名称
php
$totalPrice=0;//所有商品总价
if($product==null){
echo"
echo"
echo"
}else{
foreach($productas$v)
{
//print_r($v);
$result=$v["price"]*$v["bookcount"];//该商品的总价
$totalPrice+=$result;//计算所有商品总价
echo"
echo"
echo"
echo"
echo"
echo"
echo"
echo"
}}
?
>
所有商品总价:
phpecho$totalPrice?
>¥
Day02(用TP框架实现购物车)
一、复习
1.session会话
1.1生命周期
1、打开浏览器创建
2、关闭浏览器销毁
1.2session特点
1、跨页面
2、不跨用户
3、产生在服务器端、存储在服务器端
1.3session_start()注意:
1、在使用session之前,必须先开启会话
2、同一页面中最多只能出现一次session_start()
3、php.ini配置文件
1.4存储数据
$_SESSION["名"]=值;
注意:
session中可以存储任意类型的数据
获得数据
$变量=$_SESSION["名"];
2跨页面传参(跨页面传递数据)
1、表单提交
2、url传参
3、session
4、cookie
5、database
二、购物车功能
1.1流程
index.php----------act.php-----------car.php
商城首页操纵购物车购物车页面
1.2实现购物车功能的方式
cookie不用
session速度快、对用户不友好
database速度慢、对用户友好
1.3项目目录
library--------------第三方资源包
ThinkPHP
jquery
application----------应用程序目录
default------------前台
Common
Conf
Lang
Lib
Tpl
Runtime
admin--------------后台
Common
Conf
Lang
Lib
Tpl
Runtime
public---------------公用文件
images
css
index.php------------前台入口文件
admin.php------------后台入口文件
1.4具体流程
商城首页购物车页面
LoginAction---IndexAction---ActAction---CarAction---OrderAction
会员登陆操纵购物车订单页面
1.5ThinkPHP配置文件
1、application/default/Conf/config.php
当前目录的配置文件
2、library/ThinkPHP/Conf/convention.php
全局配置文件
config.php优先级高于convention.php
建议:
不要修改convention.php
ThinkPHP常量
__APP__:
项目入口文件的地址(链接地址)
__ROOT__:
项目根目录(引用其他文件)
__ROOT__常量不起作用:
在入口文件中重新定义__ROOT__常量
define("__ROOT__","/项目名称");
define("__ROOT__","/php/mvc/day_05/shop");
1.6.数据表
userInfo会员表(LoginAction)
bookInfo产品表(IndexAction)
carInfo购物车表(ActAction、CarAction)
orderInfo订单表(OrderAction)
orderDetails订单明细表(OrderAction)
1.7页面重定向(跳转页面)
1、跳转页面
$this->redirect("控制器/方法");
2、跳转页面,并url传参
$this->redirect("控制器/方法",array(名=>值...));
3、跳转页面,并提示信息
$this->redirect("控制器/方法",array(),时间,信息);
$this->redirect("控制器/方法",NULL,时间,信息);
1.8ThinkPHP遍历数组的标签
1、foreach
下标:
{$k}值:
{$v}
2、volist
序号:
{$k}值:
{$v}
2数据库表
createdatabasestore;
usestore;
#会员表
createtableuserInfo
(
userIdintauto_incrementprimarykey,
userNamevarchar(20)notnull,
passwordvarchar(20)notnull
);
insertintouserInfo(userName,password)values('张三','123456');
insertintouserInfo(userName,password)values('李逍遥','123456');
insertintouserInfo(userName,password)values('林轻侠','123456');
#产品表
createtablebookInfo
(
bookIdintauto_incrementprimarykey,
bookNamevarchar(100)notnull,
pricefloatdefault0,
bookTimetimestampdefaultcurrent_timestamp
);
insertintobookInfo(bookName,price)values('PHP开发指南',67);
insertintobookInfo(bookName,price)values('HTML与CSS',53.5);
insertintobookInfo(bookName,price)values('Linux详解',79);
insertintobookInfo(bookName,price)values('Smarty模板引擎',37);
insertintobookInfo(bookName,price)values('MVC设计',89);
insertintobookInfo(bookName,price)values('MySQL数据库',60);
insertintobookInfo(bookName,price)values('完全开发指南',71);
insertintobookInfo(bookName,price)values('ThinkPHP指南',59);
#购物车表(代替session)
createtablecarInfo
(
carIdintauto_incrementprimarykey,
userIdintnotnull,#购买人
bookIdintnotnull,#产品编号
bookCountintdefault0,#个数
carTimetimestampdefaultcurrent_timestamp,
foreignkey(userId)referencesuserInfo(userId),
foreignkey(bookId)referencesbookInfo(bookId)
);
#订单表(存储送货信息)
createtableorderInfo
(
orderIdvarchar(13)primarykey,#订单号
totalPricefloatdefault0,#订单总价
userIdintnotnull,#下订单的人
accptervarchar(50)notnull,#收件人
telvarchar(20)notnull,#收件人电话
addressvarchar(500)notnull,#送货地址
isPayintdefault0,#是否付款0未1己
isSendintdefault0,#是否发货0未1己
isCheckintdefault0,#是否签收0未1己
remarkvarchar(500)null,#订单描述
orderTimetimestampdefaultcurrent_timestamp,
foreignkey(userId)referencesuserInfo(userId)
);
#订单明细表(记录订单中的商品信息)
createtableorderDetails
(
odIdintauto_incrementprimarykey,
orderIdvarchar(13)notnull,
bookIdintnotnull,
bookCountintdefault0,
foreignkey(orderId)referencesorderInfo(orderId),
foreignkey(bookId)referencesbookInfo(bookId)
);
select*fromuserInfo;#会员表
select*frombookInfo;#产品表
select*fromcarInfo;#购物车表
select*fromorderInfo;#订单表
select*fromorderDetails;#订单明细表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 购物 功能 笔记