我是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);
}
它返回一个空数组...... 请帮我解决这个问题。
答案 0 :(得分:0)
如果您想拥有多个具有相同名称的html元素,则必须将其定义为数组,并添加[]
:
<input type='checkbox' name='checkin[]' value='$checkin_recall_value'>