【发布时间】:2025-12-14 09:40:01
【问题描述】:
只是想知道为复选框设置默认值的最佳方法。我希望值在选中时为 0,在未选中时为 1。 由于数组,我不能使用“ input type="hidden" name="chk_name[]" value="1" "。它使我的数组加倍。 如果我在使用 isset 后尝试设置它,它不会将它放入我的数组中。
我有多个数组并且想要匹配它们,以便所有数组 [0] 和数组 [1] 等一起更新,因此缺少值会搞砸。
那么我怎样才能将 1 放入数组中,以用于未检查的地方?
Form:
<?php
require_once ("con.php");
$p=payment();
$result = mysqli_query($mysqli,$p);
while($res=mysqli_fetch_array($result))
{
?>
<tr>
<td class="paid">
<input type="hidden" value="1" name="paid[<?php echo $res['name'];?>]">
<input type="checkbox" value="0" name="paid[<?php echo $res['name'];?>]"
<?php
if($res["paid"]==0)
{
echo "checked";
}
?>>
</td>
<td class="active">
<input type="hidden" value="1" name="active[<?php echo $res['name'];?>]">
<input type="checkbox" value="0" name="active[<?php echo $res['name'];?>]"
<?php
if($res["active"]==0)
{
echo "checked";
}
?> >
</td>
<input type="hidden" name="ID[<?php echo $res['name'];?>]" value="<?php echo $res['ID']; ?>">
</tr>
<?php } ?>
<tr>
<td>
<input type="submit" name="submit" value="Update">
</td>
</tr>
</table>
</form>
</body>
</html>
php:
$paid=$_POST['paid'];
$active=$_POST['active'];
foreach($_POST as $key=>$value)
{
$ID=$ID[$key];
$paid=$paid[$key];
$active=$active[$key];
$up=updatePayment($paid,$active,$ID);
$r = mysqli_query($mysqli,$up);
echo "Information stored successfully";
}
?>
my function:
function updatePayment($paid,$active,$ID)
{
$uc="UPDATE
`company`
SET
`paid`='$paid',
`active`='$active'
WHERE
`ID`='$ID'";
return $uc;
}
:更新代码:
我可以看到数组现在一切正常。隐藏的方法有效。
感谢大家的帮助!
【问题讨论】:
-
"选中时为 0,未选中时为 1" ?倒退到地球上的每一个人
-
顺便说一句:如果你可以简单地使用
echo $res["active"]==0 ? "checked":"",而不是你的long,这里是一个url:diywebmastery.com/3108/… -
@Dagon 不是其他所有人:如果正常,程序中的错误代码总是返回 0(表示
true)。例如 Bashscript。也许他来自那个背景..
标签: php sql arrays checkbox mysqli