Как передать несколько значений переменной через URL-адрес


У меня есть приложение, которое я создаю, и я застрял в определенной точке.

Я пытаюсь передать переменную, которая имеет несколько значений. Таким образом, мой URL-адрес будет выглядеть так:

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>

Итак пользователь может выбрать Книги и компакт-диск, и мне нужно будет передать эти два значения в переменной "типы".

Author: mickburkejnr, 2012-08-12

6 answers

Как отмечено в https://stackoverflow.com/a/2407401/1265817 , вы можете использовать этот метод.

Если вы хотите, чтобы PHP обрабатывал $_GET['select2'] как массив параметров, просто добавьте квадратные скобки к имени элемента select следующим образом: <select name="select2[]" multiple …

Затем вы можете получить доступ к массиву в своем PHP-скрипте

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

foreach ($_GET['select2'] as $selectedOption)
  echo $selectedOption."\n";
 5
Author: DACrosby, 2017-05-23 11:55:03

Использовать &

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

Это то, что тебе нужно?

 8
Author: jp2code, 2012-08-12 19:32:48

В PHP есть простой способ сделать это, вызвав http_build_query() и передайте свои значения в виде индексированного массива. Вы бы сделали что-то вроде:

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

Затем сгенерируйте URL-адрес с помощью $query.

 4
Author: Chris, 2012-08-12 19:48:16

Попробуйте localhost/report.php?variable[]=value1&variable[]=value2 даст вам массив в php

 2
Author: wgcrouch, 2012-08-12 19:35:50

Я думаю, что у вас правильный URL-адрес

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

Затем используйте PHP, чтобы получить все значения на report.php страница

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

// Output
$variable[0] = "value1";
$variable[1] = "value2";
$variable[2] = "value3";
 2
Author: DACrosby, 2012-08-12 19:41:12

Вы можете использовать сериализацию , например:

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

И получить данные с помощью несериализовать , например:

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

Функция сериализации предоставляет вам сохраняемую (строковую) версию типа массива и может быть восстановлена с помощью функции несериализации.

 0
Author: MAMProgr, 2012-08-12 19:46:48