0

好吧,我没有运气就打了IRC,没有运气就尝试了消息论坛。我会给老忠实的 StackOverflow 一个机会。

我正在使用 ExpressionEngine 2.1 并使用查询模块生成成员列表。成员列表相当大,我想对其进行分页。根据文档,我在我的 sql 语句之外使用了我的限制子句。

这是查询:

{exp:query sql="SELECT * FROM exp_members WHERE group_id=5 OR group_id=7 OR group_id=8 OR group_id=9 OR group_id=10 OR group_id=11 OR group_id=12" limit="10"  paginate="bottom"}

该页面仍会尝试获取所有成员、挂断并显示内存不足错误。如果我在 sql 语句中硬编码限制子句,它会按预期返回,但是我会丢失分页。尽量不写新的分页代码。

任何人都经历过这个并有一个修复,或任何想法?

4

2 回答 2

1

尝试使用 IN 运算符并仅选择您需要的字段而不是通配符。

{exp:query limit="10" paginate="bottom" sql="SELECT member_id, screen_name FROM exp_members WHERE group_id IN (5, 7, 8, 9, 10, 11, 12)"}
于 2012-05-02T22:40:43.353 回答
0

好吧,据我了解,查询标签上的“限制”功能不会限制您的结果集,所以这就是页面被挂起的原因。限制函数的作用是设置使用分页时在页面上显示多少结果。您将不得不使用查询的限制来满足您的需求。希望这些信息有所帮助。

于 2011-01-05T17:56:24.657 回答