0

我有一个表格,其中一行上的数据不同,从数据库中获取,并且具有唯一的 ID。每个数据都有两个具有特定值的复选框。

我需要获取数据的唯一 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;
    }
}


}


?>

试图让这个工作,但它不会。

真的需要这方面的帮助,并且很感激能得到这方面的帮助。

4

1 回答 1

2

尝试给复选框名称,例如

<label><input name="mod_id[]" type="checkbox" value="'.$all_mod_row['id']['read'].'" /> <em>Read</em> </label>

单维...并尝试让他们喜欢

$checks = $_POST['mod_id'];

如果可能的话,尝试给出两个名称数组进行读取和写入,您可以更轻松地选择和检索所选数据

于 2013-06-10T09:07:17.847 回答