无法从多个复选框分配POST数据

时间:2013-11-29 02:14:24

标签: php mysql

我是PHP和MySQL的新手,所以请忽略我编码的不良做法:)

好的,这是情景:

我有一个页面,checkin.php有两种形式; 表单1:获取一些输入并显示数据库中的数据以及多个复选框。 表格2:如果在上面找到任何数据,则动态生成。

以下是代码:

//Echoing out the query results
              echo "<form method='POST' action='checkin.php'>";
              echo "<tbody>";


              foreach ($checkin_status as $row) {
                echo "$rowStart";
                  echo "$row[book_id]";
                echo "$insertColumn";
                  echo "$row[branch_id]";
                echo "$insertColumn";
                  echo "$row[card_no]";
                echo "$insertColumn";
                  echo "$row[fname]" . " " . "$row[lname]";
                echo "$insertColumn";
                  echo "$row[date_out]";
                echo "$insertColumn";
                  echo "$row[due_date]"; 
                echo "$insertColumn";
                  //Checkbox creation
                  $checkin_recall_value = "$row[book_id]" . " " . "$row[branch_id]" . " " . "$row[card_no]";
                  echo "<div style='text-align: center;'><input type='checkbox' name='checkin' value='$checkin_recall_value'></div>";
                echo "$rowEnd";
              }

              echo "</tbody>";

              //Checkin button in foot
              echo "<tfoot>"; 
              echo "<td colspan='7' style='text-align: center; padding-right: 20px;'><input id='checkin_button' type='submit' value='Check In' title='Click to check in!'></td>";
              echo "</tfoot>";

              echo "</form>";

生成表单时,返回的元组旁边有复选框。

现在,当我选择一些复选框并尝试显示时,它就是WONT ......

以下是代码:

if(!empty($_POST['checkin'])) {

      //Retrieving the recall variables as an array from POST and assigning to $main_array
      $main_array = array();
      //echo "I am here";

        if(is_array($_POST['checkin'])) {
          foreach($_POST['checkin'] as $value)
          {
            $sub_array = explode(" ", $value);
            array_push($main_array, $sub_array);
          }
        }

        print_r($main_array);
}

它返回一个空数组...... 请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果您想拥有多个具有相同名称的html元素,则必须将其定义为数组,并添加[]

<input type='checkbox' name='checkin[]' value='$checkin_recall_value'>