有的时候需要用到,所以总结了一下。
打开includes/lib_article.php文件
其中content
部分为添加的部分
页级:引擎 BDB
表级:引擎 MyISAM,理解为锁住整个表,可以同时读,但不可同时写
行级:引擎 INNODB,单独的一行记录加锁
表级:直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许。
行级:仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。
页级:表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了折衷的页级,一次锁定相邻的一组记录。
《PHP与MYSQL权威指南》第245页,事务处理。
1 | /*************** transaction--1 ***************/ |
1、nl2br() 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />
)。
2、如果要向{$goods.goods_attr|nl2br}赋新值,这个值是保存在数据库中的,用户在商品页(goods.php)选择了商品属性(goods.attr)之后,点击”购买”就会进入购物车页面(flow.php),同时,将用户选择的商品属性(goods.attr)保存进了数据库,当进入购物车页面的时候,楼主可以看flow.dwt的代码(<!-- {foreach from=$goods_list item=goods} -->
),那么{$goods.goods_attr}
这个东西的值来自于flow.php中的$goods_list,查看flow.php,会发现,$goods_list的值来自cart_goods()这个方法,cart_goods()这个方法在includes/lib_order.php内,那里面有一段sql
1 | ($sql = "SELECT 。。。, " . |
这个sql里面的goods_attr就是楼主你想要的值,它来自数据表cart,而用户对于商品属性的选择决定了cart这个表的goods_attr保存什么样的值。
<?php $this->load->view('index/head.html') ?>