0

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

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

(为了简单起见,这里没有绑定)

问题是用新帖子重新加载了同一页面,订单 - 我现在丢失了我传递给 $products 的原始帖子 $_POST['Products']。

有没有办法保留原始帖子信息并在页面重新加载时简单地添加/更改 $theOrder?

4

2 回答 2

1

您可以将此数据存储到会话中,并在以后检索它。或者你可以把原来的post数据加到一个隐藏的输入框里,然后第二次提交表单的时候,你就会有原来的数据,还有新的数据。

于 2013-02-11T01:02:37.207 回答
1

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

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

这样他们就可以$_POST['Products']像以前一样再次访问

于 2013-02-11T01:05:41.033 回答