Как получить данные из нескольких выпадающих списков?

<form action="a.php" method="post">

<select id="sel_1" name="sel[]" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<select id="sel_2" name="sel[]" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<input type="submit"/>

</form>

Теперь, когда я пытаюсь разобрать данные, как это

$offer = $_POST['sel'];
print_r($offer);

его отображение данных, как это:

Array
(
[0] => 1          // 1, 2 selected for sel_1
[1] => 2
[2] => 2          // 2, 3 selected for sel_2
[3] => 3
)

Разве так не должно быть?

Array
(
[0] => Array(
[0] => 1
[2] => 2
)
[1] => Array(
[0] => 2
[2] => 3
)
)

Я хочу создать строковые данные, как это (в файле nxt a.php):

for sel_1 data is created like "1, 2";
for sel_2 data is created like "2, 3";

Как я могу получить данные в вышеуказанном формате.

Я пытаюсь это

for($i = 0; $i<count($offer) ; $i++)
{
for($j = 0; $j<count($offer[$i]); $j++)
{
$string = $tring. $offer[$i][$j];
}
}

0

Решение

Установите имена sel1[] а также sel2[] (разные). В PHP вы можете использовать array_merge чтобы получить другой массив со значениями из первого и из второго массива:

$offer = array_merge($_POST['sel1'], $_POST['sel2']);

$string = '';
for($i = 0; $i < count($offer); $i++)
{
$string .= $offer[$i];
}
1

Другие решения

Попробуйте вот так, он работает по вашему требованию:

Вместо этого

$offer = $_POST['sel'];

Ставь вот так

 $offer[] = $_POST['sel'];

Код:-

<form action="" method="POST">
<select id="sel_1" name="sel1[]" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<select id="sel_2" name="sel2[]" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="submit"/>

</form>
<?php
error_reporting(0);
$offer=array();
$offer[] = $_POST['sel1'];
$offer[]= $_POST['sel2'];
echo "<pre>";
print_r($offer);
echo "</pre>";
?>

Для вывода нажмите здесь: Выход

1

Попробуй это:

<form action="a.php" method="post">

<select id="sel_1" name="sel[1][]" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<select id="sel_2" name="sel[2][]" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<input type="submit"/>

</form>

Работал для меня

0
По вопросам рекламы [email protected]