Как получить несколько полей Multi Values

У меня есть форма, и я повторяю те же поля, потому что я не являюсь пользователем, если у него есть более одного элемента, чтобы отправить первый элемент, и он делает agin и agin, я хочу, чтобы он с первого раза добавлял все элементы, которые у него есть, поэтому я помещаю то же самое Обязательные поля более одного раза.

<form> <select name="items[]"> <option value="clothes">Clothes</option> <option value="shoes">Shoes</option> </select> <input type="text" name="color[]" /> <select name="items[]"> <option value="clothes">Clothes</option> <option value="shoes">Shoes</option> </select> <input type="text" name="color[]" /> </form> 

и я знаю, как получить только одно поле, подобное этому: name = "color []" Я могу получить результат с помощью:

 while(list($key,$value) = each($_POST['color'])){ if(!empty($value)){ echo $_POST['color'][$key]; echo "<br />" ; }} 

но теперь я хочу, чтобы все значения «выбирали элементы и цвет»,

Я сделал этот код здесь, и я получил все результаты, но он не связан друг с другом !!!

вот так: одежда обувь красный синий

я хочу так: одежда-красные туфли-синие

это код, который я сделал, но я не удовлетворен

 while(list($key,$value) = each($_POST['input'])){ if(!empty($value)){ echo $_POST['input'][$key]; echo "<br />" ; }} while(list($key,$value) = each($_POST['items'])){ if(!empty($value)){ echo $_POST['items'][$key]; echo "<br />" ; }} 

может кто-нибудь мне помочь 🙂

Спасибо,

Related of "Как получить несколько полей Multi Values"

Измените свои имена выбора и ввода так, как это

 <select name="items[0][type]"> <input name="items[0][color]"> <select name="items[1][type]"> <input name="items[1][color]"> 

Затем вы можете перебирать каждую пару вместе, используя

 foreach ($_POST['items'] as $item) { $type = $item['type']; $color = $item['color']; } 

Редактировать Забыл добавить индекс для каждой пары, чтобы сгруппировать их вместе

У вас есть два массива:

 $items = array(0 => 'clothes', 1 => 'shoes') $color = array(0 => 'blue', 1 => 'red') 

Прохождение через оба массива подряд, конечно, даст вам «одежду, обувь, синий, красный». Поскольку индекс 0 из $items соответствует индексу 0 $color , вам нужно получить доступ к соответствующему индексу в обоих массивах одновременно:

 for ($i = 0; $i < count($items); $i++) { echo $items[$i] . ' - ' . $color[$i]; }