如何通过URL传递变量的多个值

mic*_*jnr 7 php url urlvariables

我正在构建一个应用程序,而且我已经陷入某种困境.

我正在尝试传递一个具有多个值的变量.所以我的网址将如下所示:

localhost/report.php?variable=value1, value2, value3
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何做到这一点.变量用于从数据库中检索数据.我正在使用PHP而没有Javascript.

任何帮助都会很棒!

编辑:
这是我在页面中选择变量的HTML:

<select name="types" size="19" multiple>
    <option value="all" selected>All Types</option>
    <option value="book" selected>Books</option>
    <option value="cd" selected>CD</option>
</select>
Run Code Online (Sandbox Code Playgroud)

因此用户可以选择Books和CD,我需要在"types"变量中传递这两个值.

jp2*_*ode 11

使用 &

localhost/report.php?variable=value1&val2=value2&val3=value3
Run Code Online (Sandbox Code Playgroud)

这就是你追求的吗?

  • 这是多个变量,而不是一个具有多个值的变量 (3认同)

Chr*_*ris 5

在 PHP 中有一种简单的方法可以通过调用http_build_query()和传递您的值作为索引数组来执行此操作。你会做这样的事情:

$value_array = array('types' => array('book', 'cd'));
$query = http_build_query($value_array);
Run Code Online (Sandbox Code Playgroud)

然后使用$query.


DAC*_*sby 5

/sf/answers/168518101/所述,您可以使用此方法.

如果你想让PHP将$ _GET ['select2']视为一个选项数组,只需在select元素的名称中添加方括号,如下所示: <select name="select2[]" multiple …

然后,您可以在PHP脚本中访问该数组

<?php
header("Content-Type: text/plain");

foreach ($_GET['select2'] as $selectedOption)
  echo $selectedOption."\n";
Run Code Online (Sandbox Code Playgroud)