ecshop默认的商品属性显示的是加多少钱
第一步:在lib_goods.php中找到
function get_goods_properties 方法
将下面的get_goods_properties方法覆盖掉原来的get_goods_properties方法
1 | /** |
ecshop默认的商品属性显示的是加多少钱
第一步:在lib_goods.php中找到
function get_goods_properties 方法
将下面的get_goods_properties方法覆盖掉原来的get_goods_properties方法
1 | /** |
现在有一个需求:管理员选择某一个月份,然后显示这个月每天的新增用户数。
首先获得管理员选择的日期,然后获得本月的起始时间戳和结束时间戳,在通过和member表中的addtime字段进行比较,从而获得当月新增的用户列表,这个是不难实现的。
那么要怎么获得每日的新增用户数量呢?如果要用select count(1) 这样的语句配合addtime>=begin_time+86400 and addtime<=begintime+172800这样的条件来查询就太恐怖了,先不说操作复杂,而且执行一次操作就要查询30或31次,这样肯定不行。
可以换一个思路,既然我们已经能够获得当月新增的用户列表members,那么每个用户的addtime我们也可以知道了,此时可以对整个members列表进行遍历,把日期作为键名,用户数作为键值创建一个新数组,如果某条记录的addtime已经在数组中存在的话就加1,不存在的话就以这个addtime创建一个新元素。
页级:引擎 BDB
表级:引擎 MyISAM,理解为锁住整个表,可以同时读,但不可同时写
行级:引擎 INNODB,单独的一行记录加锁
表级:直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许。
行级:仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。
页级:表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了折衷的页级,一次锁定相邻的一组记录。
《PHP与MYSQL权威指南》第245页,事务处理。
1 | /*************** transaction--1 ***************/ |