我目前正在使用 PHP PEAR 进行简单的分页。有没有人推荐如何在现有结果视图中对记录集进行分页的方法或示例?典型的模型是这样的:
Search -> Results -> View Record
只能在“结果”页面中进行分页......我要问的是在“查看记录”中进行分页的能力。因此,您可以在查看记录时轻松分页到结果集中的下一个(或上一个)记录。显然,我可以将记录集状态和分页变量从结果页面传递到视图页面,但我想知道是否有更优雅的方法来做到这一点。有什么想法或建议吗?谢谢!
我目前正在使用 PHP PEAR 进行简单的分页。有没有人推荐如何在现有结果视图中对记录集进行分页的方法或示例?典型的模型是这样的:
Search -> Results -> View Record
只能在“结果”页面中进行分页......我要问的是在“查看记录”中进行分页的能力。因此,您可以在查看记录时轻松分页到结果集中的下一个(或上一个)记录。显然,我可以将记录集状态和分页变量从结果页面传递到视图页面,但我想知道是否有更优雅的方法来做到这一点。有什么想法或建议吗?谢谢!
我认为 PEAR Pagination 代码在这里对您没有帮助。
假设您的查看记录页面有一个查询字符串参数 RecordID,您可以在查看记录页面上创建Prev
和链接。Next
为了获取上一条和下一条记录,您可以使用如下 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 页...我知道结果中的第一条记录需要 21 的 pageID。