最近在用PHPCMS V9做一个站子,发现get标签非常好用,自定义模型后get几乎变成万能的了。但是PHPCMS升级到V9后,把2008的很多功能都去掉了,比如get标签中,在后面自动添加了一个LIMIT 0,20,这样你即使写了num='数字'也没用,写在SQL语句里面,例如
{pc:get sql="SELECT * FROM v9_news ORDER BY id DESC LIMIT 2,5" cache="3600" page="$page" dbsource="discuz" return="data"}就会报错,打印出来的SQL语句是:SELECT * FROM v9_news ORDER BY id DESC LIMIT 2,5 LIMIT 0,20 ,这样很明显是错误的。在论坛上发现了2个方法,其中第二种方法最绝,直接贴代码:
1.比如{pc:get sql="SELECT title,url FROM v9_news where catid=9 and status=99 order by updatetime desc" start="0" num="4" return="v"}
可以加入start 和 num 来控制。
2.(比较绝的方法)
{pc:get sql="SELECT title,url FROM v9_news where catid=9 and status=99 order by updatetime desc limit 0,4--" return="v"}
注意4后面的两个减号,把v9自带的LIMIT 0,20语句给注释了!
本文详细介绍了在使用PHPCMSV9时遇到的get标签在SQL语句中自动添加LIMIT0,20导致错误的问题,并提供了两种解决方案:一种是通过start和num参数控制,另一种是直接在SQL语句中注释掉v9自带的LIMIT0,20部分。
4266

被折叠的 条评论
为什么被折叠?



