《PHP和MySQL Web开发》精彩的地方收录
1、用SESSION来做的购物车,做成数组,用isbn对应书的数量作为二维数组保存
$new GET传值加入购物车,submit是修改数量,提交后的表单,通过历遍原来的数组,对应isbn修改最新的数量
对数组的运用很巧妙。收藏下来
if ($new) {
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = array();
$_SESSION['items'] = 0;
$_SESSION['total_price'] = '0.00';
} if (isset($_SESSION['cart'][$new])) {
$_SESSION['cart'][$new]++;
}else{
$_SESSION['cart'][$new] = 1;
} $_SESSION['total_price'] = calculate_price($_SESSION['cart']);
$_SESSION['items'] = calculate_items($_SESSION['cart']);
} if ($_POST['submit']) {
foreach ($_SESSION['cart'] as $isbn => $qty) {
if ($_POST[$isbn] == '0') {
unset($_SESSION['cart'][$isbn]);
}else{
$_SESSION['cart'][$isbn] = $_POST[$isbn];
}
}
$_SESSION['total_price'] = calculate_price($_SESSION['cart']);
$_SESSION['items'] = calculate_items($_SESSION['cart']);
} //计算购物车里商品总价
function calculate_price($cart){
$db = db_connect();
$total_prices = 0.00;
foreach ($cart as $isbn => $qty) {
$query = "select price from books where isbn = '".$isbn."'";
$result = $db->query($query);
$price = $result->fetch_assoc();
$prices = $price['price'] * $qty;
$total_prices += $prices;
}
return $total_prices;
} //计算购物车里商品总数量
function calculate_items($cart){
$db = db_connect();
$total_qty = 0;
foreach ($cart as $isbn => $qty) {
$total_qty += $qty;
}
return $total_qty;
}
2、number_format() 函数 — 以千位分隔符方式格式化一个数字(我挺喜欢这个,价格看的清楚)
如果只提供第一个参数,number
的小数部分会被去掉 并且每个千位分隔符都是英文小写逗号","
如果提供两个参数,number
将保留小数点后的位数到你设定的值,其余同楼上
如果提供了四个参数,number
将保留decimals
个长度的小数部分, 小数点被替换为dec_point
,千位分隔符替换为thousands_sep
如果不习惯千位用逗号分隔的,可以下面这样
$chinese_format_number = number_format($number, 2, '.', ''); // 1234.57
3、MySQL事务,有很多数据库操作的时候,为了保持数据一致,需要全部执行通过才会执行
$db->autocommit(false); 开始,关闭自动提交模式
$db->commit();结束,统一提交
$db->autocommit(true); 开启自动提交模式
《PHP和MySQL Web开发》精彩的地方收录的更多相关文章
- 《PHP与MySQL WEB开发》读书笔记
<PHP与MySQL WEB开发>读书笔记 作者:[美]Luke Welling PHP输出的HereDoc语法: echo <<<theEnd line 1 line ...
- PHP和MySQL Web开发 原书第4版 高清文字版,有目录,附带源码
PHP和MySQL Web开发 原书第4版:http://yunpan.cn/QCWIS25zmYTAn 提取码 fd9b PHP和MySQL Web开发 原书第4版源码:http://yunp ...
- PHP和MySQL Web开发(原书第4版) 高清PDF+源代码
PHP和MySQL Web开发(原书第4版) 高清PDF+源代码 [日期:2014-08-06] 来源:Linux社区 作者:Linux [字体:大 中 小] 内容简介 <PHP和My ...
- PHP和MySQL Web开发学习笔记介绍
前言 从2016年2月1日开始,之后的几个月左右的时间里,我会写一个系列的PHP和MySQL Web开发的学习笔记.我之前一直从事Java语言的开发工作,最近这段时间非常想学习一门语言,就选择了PHP ...
- 《PHP和MySQL Web开发》读书笔记(下篇)
又与大家见面了.继续<PHP和MySQL Web开发>的总结. Chapter8.设计Web数据库 ·回去看看数据卡那本书吧,这里就不累赘谈这个东西. Chapter9.创建Web数据库 ...
- PHP和MySQL Web开发 经典书籍
<PHP和MySQL Web开发> PHP and MySQL Web Development“使用PHP和MySQL构建数据库驱动的Web应用程序的权威指南” 笔者推荐 PHP和MySQ ...
- 《php和mysql web开发》读书笔记
总算是强迫自己把第一篇给看完了,在这里做一个小结,将一些知识点记录下来. 一.第一篇 使用PHP 1.php中的注释.php支持c.c++和shell脚本风格注释 /**/多行注释 //单行注释 ...
- 《PHP和MySQL Web开发》读书笔记(上篇)
最近过得太浮躁了,实在自己都看不下去了,看了PHP圣经之后,觉得非常有必要要总结一下. Chapter1.快速入门 ·PHP标记:总共有三种风格,常用的还是XML风格为主 <?php echo ...
- PHP和MySQL.Web开发(原书第4版)学习盲点笔记
1.浏览器输出中文乱码解决: <?php header("Content-type: text/html; charset=utf-8"); ?> 相当于html中的: ...
随机推荐
- sharepreferce支持boolean,string类型
public class SharePrefersUtils { private static final String name="cogi"; public static bo ...
- [Java,JavaEE] 最常用的Java库一览
引用自:http://www.importnew.com/7530.html 本文由 ImportNew - 邢 敏 翻译自 programcreek.欢迎加入Java小组.转载请参见文章末尾的要求. ...
- 【阿里云产品公测】rds测试感受
阿里云用户:cncbase 公司于10.1决定改变原来的服务器自建数据库,使用rds.于近日开通rds,进行了一些测试. 信息量:500字节左右每条信息,约200万条信息/小时的吞吐量. 信息 ...
- iOS之GCD的DEMO
由DEMO得知,串行队列同步执行会按照顺序一步一步执行,不会开辟线程 由DEMO得知,串行队列异步执行,队列中的任务会一步一步按顺序执行,队列外的任务不确定.会开辟线程 由DEMO得知,并行队列同步执 ...
- Oracle 基础 数据库备份与恢复
一.为什么需要数据备份 造成数据丢失的主要原因: 1.介质故障. 2.用户的错误操作. 3.服务器的彻底崩溃. 4.计算机病毒. 5.不可预料的因素. Oracle中故障类型分为以下4种. 1.语句故 ...
- mysql-DDL-创建数据库
创建一个数据库 • 建立数据库操作: 语法: create database 数据库名 叙述:创建一个具有指定名称的数据库.如果要创建的 数据库已经存在,或者没有创建它的适当权限,则此 语句失败. 例 ...
- HTML 5 History API的”前生今世”
History是有趣的,不是吗?在之前的HTML版本中,我们对浏览历史记录的操作非常有限.我们可以来回使用可以使用的方法,但这就是一切我们能做的了. 但是,利用HTML 5的History API,我 ...
- Java多线程之线程池
现在是多核的时代,面向多核的编程很重要,因此基于java的并发和多线程开发非常重要. 线程池是于队列密切相关的,其中队列保存了所有等待执行的任务.工作者线程的任务很简单:从队列中获取一个任务,执行任务 ...
- HTTP协议状态码的含义
HTTP协议状态码的含义 号码含义-----------------------------------------"100":Continue"101":wi ...
- xcode报错 has been modified since the precompiled header was built
删除/Users/username/Library/Developer/Xcode/DerivedData/ModuleCache 下的所有文件