结果视图中的分页

时间:2012-04-24 16:11:30

标签: php mysql pagination pear

我目前正在使用PHP PEAR进行简单的分页。有没有人有一个推荐的方法或如何在现有结果视图中分页记录集的例子?典型的模型是这样的:

Search -> Results -> View Record 

只能在“结果”页面中进行分页...我要问的是能够在“查看记录”中进行分页。因此,您可以在查看记录时轻松寻呼到结果集中的下一个(或上一个)记录。显然,我可以将记录集状态和分页变量从结果页面传递到视图页面,但我想知道是否有更优雅的方法来执行此操作。有什么想法或建议吗?谢谢!

2 个答案:

答案 0 :(得分:1)

我认为PEAR Pagination代码不会帮助你。

假设您的“查看记录”页面具有查询字符串参数RecordID,您可以在“查看记录”页面上创建PrevNext链接。为了获取上一个和下一个记录,您可以使用如下SQL语句:

PREV - SELECT RecordID FROM records WHERE RecordID < '" . $CurrRecordID . "' ORDER BY RecordID DESC LIMIT 1

下一步 - SELECT RecordID FROM records WHERE RecordID > '" . $CurrRecordID . "' ORDER BY RecordID ASC LIMIT 1

如果您的结果页面排序不同,请相应更改。

答案 1 :(得分:0)

我想出了一种使用PEAR分页的方法。为了测试这一点,我复制了搜索结果页面,展开了记录集,并从“查看记录”页面中提取了所有详细信息。基本上我有我的重复结果页面显示查看记录详细信息而不是搜索结果字段。接下来,我将分页结果限制为每页1条记录。要将其链接回原始搜索结果页面,我将pageID号码传递给重复页面。我不得不通过计算结果集的页面来抵消它。这样,pageID将准确反映结果的数量。如果我每页返回20条记录而且我在结果集的第2页上...我知道结果中的第一条记录需要一个21的pageID。