7

我有一个正在构建的应用程序,但我被困在某个点上。

我正在尝试传递一个具有多个值的变量。所以我的网址看起来像:

localhost/report.php?variable=value1, value2, value3

问题是我不确定我该怎么做。这些变量将用于从数据库中检索数据。我正在使用 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>

所以用户可以选择 Books 和 CD,我需要在“types”变量中传递这两个值。

4

6 回答 6

10

采用&

localhost/report.php?variable=value1&val2=value2&val3=value3

这就是你所追求的吗?

于 2012-08-12T19:32:48.520 回答
5

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

$value_array = array('types' => array('book', 'cd'));
$query = http_build_query($value_array);

然后使用$query.

于 2012-08-12T19:35:55.367 回答
5
于 2012-08-13T17:07:51.183 回答
2

trylocalhost/report.php?variable[]=value1&variable[]=value2会给你一个 php 中的数组

于 2012-08-12T19:35:50.287 回答
2

我认为您的网址正确

localhost/report.php?variable=value1,value2,value3

然后使用PHP获取report.php页面上的所有值

$variable = explode(",", $_GET["variable"]);

// Output
$variable[0] = "value1";
$variable[1] = "value2";
$variable[2] = "value3";
于 2012-08-12T19:41:12.033 回答
0

您可以像这样使用序列化

echo '<a href="index.php?var='.serialize($array).'"> Link </a>';

并使用反序列化获取数据,例如:

$array= unserialize($_GET['var']);

serialize 函数为您提供数组类型的可存储(字符串)版本,并且可以通过 unserialize 函数恢复。

于 2012-08-12T19:46:48.823 回答