Php 通过$\u POST将值从复选框获取到数组
我的HTML视图在foreach中有一个带有的复选框(循环3次)Php 通过$\u POST将值从复选框获取到数组,php,Php,我的HTML视图在foreach中有一个带有的复选框(循环3次) $data['module']给出以下结果 如果选中第一个复选框:Array([0]=>1) 如果选中第二个复选框:Array([0]=>2) 但我希望数组结果如下所示 ->数组([0]=>1[1]=>2]=>) ->数组([0]=>[1]=>1[2]=>) 请帮助我实现这一点 为每个没有值或值为0的复选框添加一个隐藏字段 按如下方式操作:- <div class="checkbox"> <label&g
$data['module']
给出以下结果
Array([0]=>1)
Array([0]=>2)
数组([0]=>1[1]=>2]=>)
数组([0]=>[1]=>1[2]=>)
请帮助我实现这一点 为每个没有值或值为0的复选框添加一个隐藏字段 按如下方式操作:-
<div class="checkbox">
<label>
<input type="hidden" value="" name="module[<?php echo $i;?>]"><!-- you can use value='0' also based on your wish -->
<input type="checkbox" name="module[<?php echo $i;?>]" id="module<?php echo $i ?>" value="<?php echo $row['id'] ?>"><?php echo $row['name']." (".$row['code'].")"; ?>
</label>
</div>
在my local上输出一些硬代码值:-
我选择的是:
提交后得到的信息:-为每个没有值或值为0的复选框添加一个隐藏字段 按如下方式操作:-
<div class="checkbox">
<label>
<input type="hidden" value="" name="module[<?php echo $i;?>]"><!-- you can use value='0' also based on your wish -->
<input type="checkbox" name="module[<?php echo $i;?>]" id="module<?php echo $i ?>" value="<?php echo $row['id'] ?>"><?php echo $row['name']." (".$row['code'].")"; ?>
</label>
</div>
在my local上输出一些硬代码值:-
我选择的是:
提交后得到的内容:-将索引添加到复选框的名称中
<?php
$i = 1;
foreach($management_module AS $row){
?>
<div class="checkbox">
<label>
<input type="checkbox" name="module[<?php echo $i ?>]" id="module<?php echo $i ?>" value="<?php echo $row['id'] ?>"><?php echo $row['name']." (".$row['code'].")"; ?>
</label>
</div>
$i++ }?>
$i++}?>
将索引添加到复选框的名称中
<?php
$i = 1;
foreach($management_module AS $row){
?>
<div class="checkbox">
<label>
<input type="checkbox" name="module[<?php echo $i ?>]" id="module<?php echo $i ?>" value="<?php echo $row['id'] ?>"><?php echo $row['name']." (".$row['code'].")"; ?>
</label>
</div>
$i++ }?>
$i++}?>
您可以直接将复选框name
属性设置为行的id(其值设置为1
),如下所示:
<input type="checkbox" name="module[<?php echo $row['id'] ?>]" id="module<?php echo $i ?>" value="1"><?php echo $row['name']." (".$row['code'].")"; ?>
您可以直接将复选框
name
属性设置为行的id(其值设置为1
),如下所示:
<input type="checkbox" name="module[<?php echo $row['id'] ?>]" id="module<?php echo $i ?>" value="1"><?php echo $row['name']." (".$row['code'].")"; ?>
试试这个:
$module= $_POST['module'];
$size= count($module);
$i = 0;
while ($i < $size) {
$arraymodule[] = '$module[$i]';
++$i;
}
$module=$\u POST['module'];
$size=计数($module);
$i=0;
而($i<$size){
$arraymodule[]='$module[$i]';
++$i;
}
试试这个:
$module= $_POST['module'];
$size= count($module);
$i = 0;
while ($i < $size) {
$arraymodule[] = '$module[$i]';
++$i;
}
$module=$\u POST['module'];
$size=计数($module);
$i=0;
而($i<$size){
$arraymodule[]='$module[$i]';
++$i;
}
$i
从1开始,而OP想要0索引结果。@roberto06为true,但我不知道他是否有使用1索引的js代码。所以在他说点什么之前我就不谈了。感谢您指出。另外,这些值将与键相同,而不是1
。尽管如此,这并不是一个糟糕的解决方案,但您应该包括PHP处理,因为它与OP已有的截然不同。$i
从1开始,而OP想要0索引的结果。@roberto06 true,但我不知道他是否有使用基于1的索引的js代码。所以在他说点什么之前我就不谈了。感谢您指出。另外,这些值将与键相同,而不是1
。尽管如此,这并不是一个糟糕的解决方案,但您应该包括PHP处理,因为它与OP已有的处理方法有很大不同。额外隐藏的输入是什么?@bassxzero当使用它时,不勾选复选框,那么它的值将变为0或空。这很有效,谢谢你。如果是我的票;)@tenten很高兴为您提供帮助。::):)额外的隐藏输入用于什么?@bassxzero它用于在使用时不选中复选框,那么它的值将变为0或空。这很有效,谢谢你。如果是我的票;)@很高兴能帮助你。:):)