【问题标题】:insert Multiple Checkbox Value different name in mysql database在mysql数据库中插入多个复选框值不同的名称
【发布时间】:2022-01-26 19:34:24
【问题描述】:

我有表 admin_rouls

通过它,我控制管理员对分类主题的权限设置

我尝试给每个管理员权限

例如管理员 id 9 给他权限类别 id 20 可以编辑或添加新主题但不能删除

ID  admin_id   cat  can_add  can_edit  can_del
1     9         20     Y        Y       N
2     9         19     N        Y       N
3     9         18     N        N       Y

我用过这个表格

<form method="post">
<?php 
$GetCats=mysqli_query($db,"select * from section where id_sec = 0");
        while($rowCat=mysqli_fetch_object($GetCats))
{
echo $rowCat->name ;

echo '<div class="pull-left">

ADD
<input type="checkbox"  name="add_cat['.$rowCat->id.']" >

EDIT
<input type="checkbox"  name="edit_cat['.$rowCat->id.']" >

DELETE
<input type="checkbox"  name="del_cat['.$rowCat->id.']" >

</div>';
}
?>
<input type="hidden" name="AdminId" value="<?php echo $_GET['id'];?>">
<input type="submit" name="submit" value="save">
</form>

发布数据是这样的

add_cat[50]=on&amp;edit_cat[50]=on&amp;del_cat[50]=on&amp;add_cat[100]=on&amp;edit_cat[100]=on&amp;edit_cat[70]=on&amp;del_cat[70]=on&amp;AdminId=5&amp;submit=save

我有一个问题如何将这些数据插入数据库表 许多类别 id 相同 50 100 70 和选项相同 add_cat edit_cat del_cat

ID  admin_id   cat  can_add  can_edit  can_del
1     9         20     Y        Y       N
2     9         19     N        Y       N
3     9         18     N        N       Y

有什么想法吗??

【问题讨论】:

  • 这里有什么帮助吗?
  • 这里有什么想法吗?

标签: php arrays checkbox key-value


【解决方案1】:
  1. 您需要将类别 ID 作为您的指南发布到 POST 数组,在 如果您没有检查该行列表项上的任何内容
  2. 然后用 for 循环捕捉它

附加:禁用错误报告以使其干净

建议:使用 multi_query 将其更新到数据库

我添加了一些 ajax 让它更有趣

test.php

<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<form method="post">
<?php  for($i = 0; $i < 10; $i++) {

echo '<div class="pull-left">
<input type="text" name="no[]" value="'.$i.'">
ADD
<input type="checkbox"  name="add_cat['.$i.']" >

EDIT
<input type="checkbox"  name="edit_cat['.$i.']" >

DELETE
<input type="checkbox"  name="del_cat['.$i.']" >

</div>';
}
?>
<input type="submit" name="submit" value="save">
</form>

<div id="data">
    
</div>
<script type="text/javascript">
    $("form").on("submit", function(e){
        e.preventDefault();
        $.ajax({
            url : 'test-ajax.php',
            type: 'post',
            data: $("form").serialize(),
            success:function(data){
                $("#data").html(data);
            }
        });
    });
</script>

还有 test-ajax.php

<?php 

//print_r($_POST);
error_reporting(0);
$no   = $_POST['no'];
$add  = $_POST['add_cat'];
$edi  = $_POST['edit_cat'];
$del  = $_POST['del_cat'];
echo '<br>';
for($i = 0; $i < count($no); $i++){
    echo $no[$i] .' - '.$add[$i].' - '.$edi[$i].' - '.$del[$i].'<br>';
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多