我在网站上有一个显示多组数据的搜索功能。我想用新的帖子数据对其进行排序,但在重新加载同一页面时保留旧的帖子数据。
也就是说,例如,在page.php上 - 我运行搜索。它正在寻找来自不同供应商的苹果和橙子。
因此,检查清单中的帖子数据显示发布苹果和橘子。
现在页面重新加载,获得了我正在寻找苹果和橙子的信息 - 它进入数据库并将所有相关供应商及其产品拖到页面上。
这就是我现在所处的位置。
现在我的困境。我想在page.php的顶部添加一个链接,上面写着“按价格排序”。还有一个说“按日期排序”。
默认情况下,sql查询按日期排序,因此已按日期显示。
现在我想解决这个问题,就是创建一个链接,让我发布到完全相同的页面。所以在php中我可以得到那些数据(称之为ORDER)
if (isset($_POST['Order'])){
$theOrder = $_POST['Order'];
}
else {
$theOrder = 'Date Desc';
}
现在,在我之前的脚本中,我可以发表一个类似的声明:
$query = "SELECT * FROM Products WHERE name = '$products'
ORDER BY '$theOrder'";
(这里没有绑定只是为了简单)
事情是用新帖子重新加载了相同的页面,订单 - 我现在已经丢失了原始帖子$ _POST ['Products'],我将其传递给$ products。
有没有办法保留原始帖子信息,只需在页面重新加载/更改$ theOrder?
答案 0 :(得分:1)
您可以将此数据存储到会话中,稍后再检索。或者您可以将原始帖子数据添加到隐藏的输入字段中,然后在第二次提交表单时,您将获得原始数据以及新数据。
答案 1 :(得分:1)
只需在包含旧数据的提交表单中添加隐藏字段
<input type='hidden' name='Products' value='" . $_POST['Products'] . "' />
通过这种方式,可以再次使用$_POST['Products']
访问它们,就像之前一样