# 关于phpcms get标签分页的问题

- Link: https://yjyj.net/learn/1561.html
- Published: 2010-08-18T03:22:11+08:00
- Author: 小 虾

⚡ 生猛大蝦编辑部 · 30 秒核心看点

 * 站点工具自动生成的 get 标签，分页部分会触发 SQL 错误。
 * 手写标签开头并补齐分页相关参数后，分页恢复正常。
 * 核心结论：get 标签分页要兼顾 SQL 条件与 page 参数的配合。

我用站点提供的工具得到的get标签:

 

{get sql="SELECT `catid`,`title`,`thumb`,`description`,`url`,`updatetime` FROM `
phpcms_content` WHERE `catid` = ‘$catid’ ORDER BY  `updatetime` DESC" rows="6"  
page="$page" } 
{$r[catid]} {$r[title]} {$r[thumb]} {$r[description]} {$r[url]} {
$r[updatetime]}

{/get} 
{$pages}

 

生成后分页部分出现sql错误

 

后来自己写了个标签的开头部分:

{get sql="SELECT contentid,catid,title,style,thumb,keywords,description,userid,updatetime,
islink,inputtime,url FROM `phpcms_content` WHERE  status=99   AND `catid` IN(31,32)
ORDER BY contentid DESC" rows="6" page="$page"catid="$catid"}

 

生成后分页正常.不知道为什么……

❓ 延伸问答与排错指南（FAQ）

phpcms get标签分页为什么会报SQL错误？

常见原因是标签生成的 SQL 与分页参数组合不兼容，尤其是 page 参数参与后，查询条件或
标签属性没有正确对齐，导致分页解析异常。排查时应先确认 SQL 本身可执行，再检查 page、
rows 以及额外参数是否冲突。

get标签分页正常需要注意哪些参数？

重点看 rows、page 以及 SQL 条件是否一致。分页标签不仅要能查出数据，还要让分页组件
正确识别总数和当前页。若自动生成的标签报错，可尝试手写标签开头，补齐必要参数后再
测试。

手写phpcms标签开头能解决什么问题？

手写标签开头的好处是能主动控制 SQL 和分页参数，避免工具自动生成时带入不合适的条件。
本文案例里，改成手写后分页恢复正常，说明问题多半出在自动生成标签的参数组织方式上。

📚 【[招数学习](https://yjyj.net/category/learn)】专栏延伸阅读与热门精选（[全站文章归档](https://yjyj.net/archive)）：

 * [关于价格](https://yjyj.net/learn/1530.html)
 * [原创技巧：[网页界面设计]-之我的壹贰三肆](https://yjyj.net/learn/1469.html)
 * [在设计中如何主导客户](https://yjyj.net/learn/1574.html)
 * [网页设计之道——制定一个工作流程](https://yjyj.net/learn/1581.html)
 * 热门必读[DMIT 全线缺货, 只剩搬瓦工了](https://yjyj.net/discover/7787.html)
 * 热门必读[俩月了, DMIT 终于补货了!](https://yjyj.net/share/7795.html)
