重新加载页面并发送新的帖子数据,但也保留旧的帖子数据

时间:2013-02-11 00:55:45

标签: php sql post

我在网站上有一个显示多组数据的搜索功能。我想用新的帖子数据对其进行排序,但在重新加载同一页面时保留旧的帖子数据。

也就是说,例如,在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?

2 个答案:

答案 0 :(得分:1)

您可以将此数据存储到会话中,稍后再检索。或者您可以将原始帖子数据添加到隐藏的输入字段中,然后在第二次提交表单时,您将获得原始数据以及新数据。

答案 1 :(得分:1)

只需在包含旧数据的提交表单中添加隐藏字段

<input type='hidden' name='Products' value='" . $_POST['Products'] . "' />

通过这种方式,可以再次使用$_POST['Products']访问它们,就像之前一样