我已经开始开发基于 PHP 的页面,该页面在 Postgres 表上运行 SELECT 查询并打印结果。
该页面包含一个用于过滤表记录的表单(POST 方法),例如仅显示其值位于特定字段的特定最小/最大范围内的记录。用户能够将值输入到表单的最小/最大字段中,一旦他们按下表单输入按钮,SELECT 查询将再次运行并带有适当的 WHERE 约束。这部分工作正常。
现在,我还想包含用户根据每个字段对表格进行排序的功能。因此,通过简单地使用 GET,我能够通过每个字段标题上的 href 传递对表进行排序所需的参数,例如"a href="index.php?field=x&order=asc..",它应用了适当的 ORDER BY 约束。这也可以正常工作。
问题是,当用户单击其中一个表格标题以按该字段对表格进行排序时,页面显然会刷新,并且通过表格应用的任何过滤器都会丢失。
结合这两个功能的最佳选择是什么?也就是说,用户应该能够过滤表格,然后根据他们想要的字段对过滤后的记录进行排序。
我是否需要重新考虑我将如何彻底处理它?</p>
最佳答案
您始终可以使用 session 来存储帖子。
然后只需检查 session 中是否有帖子存储,并始终按您的 session 进行过滤。
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$_SESSION['filter'] = $_POST;
}
if(isset($_SESSION['filter'])){
//Run you query
}
关于php - 通过 PHP 使用 _POST 和 _GET 过滤和排序 Postgres 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43698211/