php购物车原理
<?php
/*
购物车原理
在产品展示页面时(如 shop.php?id=888),点击购买或添加到购物车时,根据相应的产品标识符(如 id),查询相应的数据库,如果查询表示有此产品,用 $_SESSION 数组保存相应的信息
如下示例,表名为 goods,字段有 id,price,.....
*/
// 开启会话
session_start();
//引入配置文件,包含数据库信息常量
require('dbconfig.php');
//连接数据库
$link = mysql_connect(DBHOST, DBUSRE, DBPASS);
mysql_select_db(DBNAME, $link);
// 根据产品 id 查询产品信息
$id = intval($_GET['id']);
$sql = "select * from goods where id = {$id}";
$result = mysql_query($sql, $link);
// 判断是否存在相应的产品,有则读取
if(empty($result) || mysql_num_rows($result) == 0)
{
die('没有相应的产品');
}else
{
$shop = mysql_fetch_assoc($result);
}
// 添加一个数量字段
$shop['num'] = 1;
// 放入购物车,如已经存在,则累加
if(isset($_SESSION['shoplist'][$shop['id']]))
{
$_SESSION['shoplist'][$shop['id']]['num']++;
}else
{
$_SESSION['shoplist'][$shop['id']] = $shop;
}
?>
<?php
print_r($_SESSION['shoplist']);
?>
php购物车原理的更多相关文章
- 043——VUE中组件之使用.sync修饰符与computed计算属性实现购物车原理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- localstorage实现两个页面通信,购物车原理。
如:A,B页面,A为商品页,B为购物车页,两个页面同时打开,在A页面点击商品添加至购物车,切换到B页面购物车怎么显示该商品信息 利用localStroage,A页面将数据存入localStroage, ...
- 43_2.VUE学习之--不使用组件computed计算属性超简单的实现美团购物车原理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 43.VUE学习之--组件之使用.sync修饰符与computed计算属性超简单的实现美团购物车原理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js 购物车的实现
购物车原理:创建一个构造函数,把涉及到的项目写成方法,然后把这些方法放到构造函数的原型对象上,通过按钮绑定,调用原型对象上的方法,实现对涉及项目的改变 html代码: <!DOCTYPE htm ...
- COOKIE的优化与购物车小试
由于经常被抓取文章内容,在此附上博客文章网址:,偶尔会更新某些出错的数据或文字,建议到我博客地址 : --> 点击这里 一 Cookie 的优化 1.1 一般而言,我们设置cookie是在ph ...
- 第一种方式:cookie的优化与购物车实例
一 Cookie 的优化 1.1 一般而言,我们设置cookie是在php中设置 例如: <?php setcookie('testKey1','hello world',0,'/'); //# ...
- php中magic_quotes_gpc对unserialize的影响
昨天朋友让我帮他解决下他网站的购物车程序的问题,程序用的是PHPCMS,换空间前是好的(刚换的空间),具体问题是提示成功加入购物车后跳转到购物车页面,购物车里为空. 我看了下代码,大致的原理就是将产品 ...
- 面试问题总结二(技术能力-PHP)----Ⅱ
20.支付功能的实现? 答:在线支付一般来说有两种实现方式,一种是调用各个银行提供的接口,另一种是使用第三方集成好的支付功能,两种方式各有优劣.对于第三方支付来说会需要提交企业5证来验证,还会有部分手 ...
随机推荐
- iOS Xcode的快捷键
将一些搜集和经常使用的快捷键记录下来,方便你我. Command +1~ 8: 跳转到导航区的不同位置 Command +0 :显示/隐藏导航区 Command Alt 1~ 6:在不同检测器之间跳转 ...
- sping获取bean方法 解决资源耗尽
// ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"applicationCon ...
- 删除mysql服务
当我们卸载完MySQL后重新装MySQL提示 The service already exists! 是因为服务名称还残留在系统里 打开cmd 输入下面 sc delete mysql 这个mysql ...
- response对象详解
(响应 javax.servlet.http.HttpServletResponse) 方法名 说明 addCookie 添加一个Cookie对象 addHeader 添加Http文件指定名字头信息 ...
- phpmailer,smtp发送邮件实例(转)
一,用phpmailer发送邮件 查看复制打印? <?php include "class.phpmailer.php"; //包函邮件发送类 //邮件发 ...
- 关于android应用--内存的优化
以下内容为转载自网上,然后自己加工贴合到一块的: 原文地址:http://www.cnblogs.com/frydsh/archive/2012/12/09/2810601.html http://w ...
- Java基础知识强化之IO流笔记48:IO流练习之 复制单级文件夹案例
1. 复制单级文件夹 数据源:e:\\demo 目的地:e:\\test 分析: A:封装目录 B:获取该目录下的所有文本的File数组 C:遍历该File数组,得到每一个File对象 ...
- Android(java)学习笔记138:html嵌入到java显示乱码
解决方案: 使用 loadData方法是中文部分会出现乱码,即使指定“utf-8”.“gbk”.“gb2312”也一样. webView.getSettings().setDefaultTextEnc ...
- FineUI登入的例子中遇到的一些问题
对于在使用FineUI这个例子的时候我们首先就是要在form标签内部添加一个 第一步. <ext:PageManager ID="PageManager1" runat=&q ...
- start mysqld on Mac server
#!/bin/sh # Source the common setup functions for startup scripts test -r /etc/rc.common || exit 1 . ...