我的网站允许访问者搜索房屋(使用 PHP 和 MySql)。搜索后,他们会看到一个匹配列表,他们可以单击该列表以查看该房屋的详细信息页面。要查看下一个家,他们目前必须点击返回,然后在他们想要查看的搜索结果列表中点击下一个家。
我想做到这一点,一旦他们点击一个家查看详细信息,他们将有一个“下一个家”和“上一个家”链接/按钮用于导航结果集而无需去返回搜索结果页面。
我已经看到这样做了,但无法理解如何去做。我假设您必须将初始搜索的记录集保存在某处,然后在详细信息页面上调用它。而且您必须知道您正在查看 Y 个房屋中的第 x 个房屋。
任何人都可以大致概述一下这将如何运作吗?我是否将初始搜索结果保存在临时 MySQL 表中并将该表名传递到详细信息页面?或者使用 session 变量来保存结果集?请记住,访问者可以在他们的 session 期间进行多个不同的搜索。
如有任何帮助,我们将不胜感激, 汤姆
最佳答案
完成此操作后,我将当前搜索的详细信息保存在 SESSION 中,然后在需要时重新查询数据库 - 这样您就可以在详细信息页面上查询它以生成下一个和上一个链接等。我通常使用一个名为“参数”的 SESSION 变量,并将整个 SQL WHERE 语句添加到它。
如果有人进行多次搜索,这将让他们一次进行一次 - 后续搜索将覆盖已经存在的内容。如果您的用户要使用不同的参数同时进行多次搜索,您需要找到一种方法来区分每次搜索的参数。您可以通过调用 uniqid
作为前缀为每个集合指定一个唯一的名称,然后您需要确保将唯一标识符传递给详细信息页面,以便确定是哪个集合它需要运行的参数。
关于php - 移动记录集的详细信息页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10485048/