Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在URL中附加1个以上的可选查询参数,然后基于这2个参数获取记录?_Php_Laravel - Fatal编程技术网

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>