我有像这样循环的复选框。
<?php
for($i=0;$i<$jumlah;$i++) {
echo "<tr>
<td align='center'><input type='text' name='PROSES[]' placeholder='Input Proses $i'/></td>
<td align='center'><input type='checkbox' name='NOTIF[]' value='Yes'/></td>
<td align='center'> <input type='checkbox' name='REMINDER[]' value='Yes'/></td>
<td align='center'> <input type='checkbox' name='DECISION[]' value='Yes'/></td>
<td align='center'> <input type='checkbox' name='AUTHOR[]' value='Yes'/></td>
<td align='center'><input type='text' name='SIAPA[]' size='40' placeholder='dari siap ke siapa' /></td>
</tr>";
}//end for
echo "</table>";
?>
和要输入的查询
if(isset($_POST['SUBMIT'])) {
$proses = $_POST[PROSES];//value from selectbox
$jumlah = count($proses);
$max_id = $data_max_id[ID];
for($i=0;$i<$jumlah;$i++) {
$query_input = "INSERT INTO data_proses SET ID_input = '$max_id',
proses = '$proses[$i]',
notifikasi = '$notif[$i]',
reminder = '$reminder[$i]',
decision = '$decision[$i]',
authorization = '$author[$i]',
dari_siapa = '$siapa[$i]'";
$hasil_input = mysqli_query($mysqli, $query_input);
}//end for
}
它将生成这样的表
简而言之,
我提交到mysql后成功但是stil错了。如果我像那个图像一样检查数据库有错误的结果
input :
[x][x][ ][ ]
[ ][x][x][ ]
[ ][ ][x][x]
On database :
[x][x][x][x]
[ ][x][x][ ]
[ ][ ][ ][ ]
任何人都可以帮忙解决我的问题吗?
提前致谢
答案 0 :(得分:1)
在所有复选框的名称中包含行号。只有选中的复选框才会被提交,如果没有显式索引,PHP会将它们全部从0
索引 - 您将看不到跳过的复选框的空值。
for($i=0;$i<$jumlah;$i++) {
echo "<tr>
<td align='center'><input type='text' name='PROSES[]' placeholder='Input Proses $i'/></td>
<td align='center'><input type='checkbox' name='NOTIF[$i]' value='Yes'/></td>
<td align='center'> <input type='checkbox' name='REMINDER[$i]' value='Yes'/></td>
<td align='center'> <input type='checkbox' name='DECISION[$i]' value='Yes'/></td>
<td align='center'> <input type='checkbox' name='AUTHOR[$i]' value='Yes'/></td>
<td align='center'><input type='text' name='SIAPA[]' size='40' placeholder='dari siap ke siapa' /></td>
</tr>";
}//end for