我有一个表单,其中包含从具有唯一ID的DB中提取的行上的不同数据。每个数据都有两个具有特定值的复选框。
无论是否选中,我都需要获取数据的唯一ID和两个复选框的值。
Example:
General Config [] Read [] Write
Manage Admin Account [] Read [] Write
Manage Adverts [] Read [] Write
Manage Articles [] Read [] Write
Manage Groups [] Read [] Write
如果用户检查每一行的一个或两个复选框,我希望得到一个具有唯一ID行的数组,该行选中复选框,并检查复选框的值。
这是我的代码:
<form action="test.php" method="post">
<table width="400" border="0">
<?php
@include "../inc/db.php";
$all_mod_qry = @mysql_query("select * from `adm_modules` order by module_name");
while($all_mod_row = @mysql_fetch_assoc($all_mod_qry))
{
echo '<tr>
<td width="45%">
<p>
<label><span>'.$all_mod_row['module_name'].'</span></label>
<div class="clear"></div>
</p>
</td>
<td>
<p>
<label><input name="mod_id[][]" type="checkbox" value="'.$all_mod_row['id']['read'].'" /> <em>Read</em> </label>
<div class="clear"></div>
</p>
</td>
<td>
<p>
<label><input name="mod_id[][]" type="checkbox" value="'.$all_mod_row['id']['write'].'" /> <em>Write</em> </label>
<div class="clear"></div>
</p>
</td>
</tr>';
}
?>
</table>
<p>
<input class="submit_btn" type="submit" name="new_subt" value="Create" />
</p>
</form>
<?php
if (isset($_POST['new_subt'])) {
foreach ($_POST['mod_id'] as $mod_id => $mod_right_arr)
{
$module[$mod_id] = array();
foreach ($mod_right_arr as $key => $value)
{
$module[$mod_id][$key] = $value;
}
}
}
?>
试图让它发挥作用,但事实并非如此。
真的需要帮助,并将非常感谢您的帮助。
答案 0 :(得分:2)
尝试提供类似
的复选框名称<label><input name="mod_id[]" type="checkbox" value="'.$all_mod_row['id']['read'].'" /> <em>Read</em> </label>
单维...并尝试让它们像
$checks = $_POST['mod_id'];
如果可能的话,尝试为读取和写入提供两个名称数组,您可以更轻松地选择和检索所选数据