如何在PHP中处理多标准搜索

时间:2017-10-20 10:03:16

标签: php elasticsearch laravel-5 get

我在网站上做过滤器有点问题。 我有一个表单存在于所有页面中,使用此表单,用户可以按名称和类别搜索产品。代码如下所示:

<form method = "GET" action = "{!! route('search_product') !!}">
   <input type = "text" name = "searchText"/>
   <select name="category">
    ...
   </select>
</form>

当用户提交表单时,我会得到一个这样的网址:search_result.php?searchText = test&amp; category = 1

工作正常。问题是在search_result页面上我有另一种形式,其目的是使用户能够按价格缩小产品清单。

<form method = "GET" action="{!! route('search_product') !!}">
    <input name = "min" type = "text"/>
    <input name = "max" type ="text" />
</form>

通过执行此操作提交表单时将删除先例参数(searchText和category)。那么如何保留它们。

PS:抱歉英语不好。

1 个答案:

答案 0 :(得分:1)

在新表单中使用2个隐藏的输入,其中包含 searchText category 的值,这样您将在第二次提交后获得值。

<form method = "GET" action="{!! route('search_product') !!}">
    <input name="searchText" type="hidden" value="<?=$searchtext;?>" />
    <input name="category" type="hidden" value="<?=$category;?>" />
    <input name = "min" type = "text"/>
    <input name = "max" type ="text" />
</form>