как повторить флажок группы? - PullRequest
0 голосов
/ 18 июля 2011

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

вот мой код

<?php
$submit = $_POST['submit'];
$incharge = $_POST['incharge'];

if ($submit)
{
   echo $incharge;
}

?>

<table width="500" height="69">
      <tr>
        <td width="73"><label>
          <input type="checkbox" name="incharge" value="1" id="responsible_0" />
          MNFA</label></td>
          <td width="72"><label>
          <input type="checkbox" name="incharge" value="2" id="responsible_1" />
          HJB</label></td>
          <td width="70"><label>
          <input type="checkbox" name="incharge" value="3" id="responsible_2" />
          JBG</label></td>
          <td width="75"><label>
          <input type="checkbox" name="incharge" value="4" id="responsible_3" />
          MSG</label></td>
          <td width="275"><label>
          <input type="checkbox" name="incharge" value="5" id="responsible_4" />
          MGR</label></td>
      </tr>
      <tr>
      <td height="33"><label>
          <input type="checkbox" name="incharge" value="6" id="responsible_5" />
          AAP</label></td>
          <td><label>
          <input type="checkbox" name="incharge" value="7" id="responsible_6" />
          EPM</label></td>
          <td><label>
          <input type="checkbox" name="incharge" value="8" id="responsible_7" />
          SGA</label></td>
          <td><label>
          <input type="checkbox" name="incharge" value="9" id="responsible_8" />
          JLL</label></td>
          <td><label>
          <input type="checkbox" name="incharge" value="10" id="responsible_9" />
          AFM</label></td> 
      </tr>
    </table>

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 18 июля 2011

Измените атрибут имени на:

name="incharge[]"

Это даст массив, $ incharge.

Обратите внимание, что вы не сможете просто отобразить это значение; вам нужно будет "print_r" или перебрать его.

1 голос
/ 18 июля 2011

Причина, по которой отправляется только последнее значение, заключается в том, что все флажки имеют одинаковые имена, переименовывая их снова и снова. Вам нужно назначить все флажки массиву, например:

Изменить name="incharge" на name="incharge[]"

Затем вы захотите повторить:

if ($submit)
{
    // PHP throws a fit if we try to loop a non-array
    if(is_array($incharge))
    {
        foreach($incharge as $val)
        {
            echo $val . '<br />';
        }
    }
}
1 голос
/ 18 июля 2011

Вам нужно изменить атрибут «name» ваших «input» элементов, чтобы указать, что это массив, добавив квадратные скобки [] в конце.$_POST['incharge'] будет массивом вместо строки.

Пример

<input type="checkbox" name="incharge[]" value="1" id="responsible_0" />
0 голосов
/ 26 марта 2014
if(isset($_post['calculations'])
{
    $member = $_POST['member'];//get the total values in an array

    if(is_array($member))// confirm $member is an array
    {
        foreach($member as $names)
        {
            echo $names ."<br/>";//take the values 

        }
    }


<input type="checkbox" name="member[]" value="value1">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...