Php 如何在URL中附加1个以上的可选查询参数,然后基于这2个参数获取记录?
目前,我的简单过滤器允许我以升序或降序获取图像。现在,我正努力做到这一点,这样我就可以以升序或降序获得今天/本周/本月的图像,也就是同时应用两个过滤器Php 如何在URL中附加1个以上的可选查询参数,然后基于这2个参数获取记录?,php,laravel,Php,Laravel,目前,我的简单过滤器允许我以升序或降序获取图像。现在,我正努力做到这一点,这样我就可以以升序或降序获得今天/本周/本月的图像,也就是同时应用两个过滤器 问题是我不能让第二个查询参数粘贴在URL的末尾。当我在www.example.com上并单击升序元素时,我的URL变成www.example.com/?order=asc。然后,当我单击today元素时,我的URL变成www.example.com/?time=today,但我希望它变成www.example.com/?order=asc?tim
问题是我不能让第二个查询参数粘贴在URL的末尾。当我在
www.example.com
上并单击升序
元素时,我的URL变成www.example.com/?order=asc
。然后,当我单击today
元素时,我的URL变成www.example.com/?time=today
,但我希望它变成www.example.com/?order=asc?time=today
,这样我就可以通过请求获得时间
我也不确定当尝试组合这两个过滤器时,我的查询会是什么样子,这两个过滤器都是最佳的,甚至可能不存在于URL中,但我想,一旦我能够将这两个过滤器都附加到我的URL中,我就会明白这一点
HTML
首先,ul标签的直接子项应该是li标签 您正试图做的事情可以通过使用如下表单轻松完成
<form action="url" method="GET">
<input type="radio" name="order" value="asc" checked>Asceding
<input type="radio" name="order" value="desc">Descending
<input type="radio" name="time" value="any" checked>Anytime
<input type="radio" name="time" value="today">Today
<input type="radio" name="time" value="week">This week
<input type="radio" name="time" value="month">This month
<button>
Submit
</button>
</form>
上升
下降的
随时
今天
本周
这个月
提交
您可以为href
值设置请求URL,然后在controller中扫描和筛选可选查询参数
www.example.com/?order=asc?time=today
不正确,您希望www.example.com/?order=asc&time=today
带有一个符号,我看到了,但是如何将第二个查询参数附加到www.example.com或www.example.com/?order=asc的URL?我不是Laravel用户,但是我想您必须在模板中为a
标记的href
添加一个变量,然后做一些条件逻辑来决定你应该把什么放在url的查询字符串中。你可能对我感兴趣。我正在尝试自己弄清楚如何做基本过滤,所以我真的不想使用为我做的库。他正在做一个过滤器,因此,应该有复选框,而不是收音机buttons@FahadIqbalAhmadKhan他问如何添加2个get参数,所以这只是一个简单的例子,说明他如何做到这一点。
public function index(Request $request){
$images = Image::orderBy('created_at', $request->get('order') ?? 'desc')->get();
return view('home', ['images' => $images]);
}
<form action="url" method="GET">
<input type="radio" name="order" value="asc" checked>Asceding
<input type="radio" name="order" value="desc">Descending
<input type="radio" name="time" value="any" checked>Anytime
<input type="radio" name="time" value="today">Today
<input type="radio" name="time" value="week">This week
<input type="radio" name="time" value="month">This month
<button>
Submit
</button>
</form>