php - 通过 PHP 使用 _POST 和 _GET 过滤和排序 Postgres 表

标签 php postgresql

我已经开始开发基于 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/

相关文章:

php - 在 PHP 类文件中不包含结束标记 `?>` 有什么好处?

php - 在 PHP 中将字符串解析为 key=>value 数组

sql - 在 express 应用程序中续写原始查询

postgresql - pg_table_size 和 pg_relation_size 之间有什么关系?

sql - 在 SQL 中跨时间线汇总值

postgresql - 在 CircleCI 测试期间增加 Postgrex 数据库超时

PHP 删除查询不起作用,甚至没有收到任何错误消息

php - 无法使用javascript访问json文件

java - Glassfish、PostgreSQL 和关闭的连接

php - 我不知道的 mySQLi 数据库错误,首先这个查询运行正常但现在不工作