结果视图中的分页


Pagination within result view

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

Search -> Results -> View Record 

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

我认为

PEAR分页代码在这里不会帮助你。

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

上一页 - 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

如果搜索结果页的排序方式不同,请相应地进行更改。

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