我希望stackoverflow成员可以帮助我解决问题。我是 php 中内爆函数的新手,所以我对它的整个功能感到非常困惑。我有多个技能复选框,如java,php,css,asp,vb,mysql等。我尝试使用内爆将它们保存在数据库中的单个列中。
$skills = implode(',',$skills);
<input type="checkbox" name="skills[0]" value="java">java
<input type="checkbox" name="skills[1]" value="php">php
<input type="checkbox" name="skills[2]" value="css">css
<input type="checkbox" name="skills[3]" value="asp">asp
更新:
<input type="checkbox" name="skills[0]" value='<?php $skills=explode(',',$skills);?>
<?php if ($skills[0] = "java"){?> checked="checked" <?php }?>'>
<input type="checkbox" name="skills[1]" value='<?php $skills=explode(',',$skills);?>
<?php if ($skills[1] = "php"){?> checked="checked" <?php }?>'>
<input type="checkbox" name="skills[2]" value='<?php $skills=explode(',',$skills);?>
<?php if ($skills[2] = "css"){?> checked="checked" <?php }?>'>
<input type="checkbox" name="skills[3]" value='<?php $skills=explode(',',$skills);?>
<?php if ($skills[3] = "asp"){?> checked="checked" <?php }?>'>
我的更新代码不起作用,因为如果我更新复选框,则应该会选中一些复选框,但是当我尝试编辑它时,它被选中了。然后根据注释,未选中的复选框将不会保存在数据库中,这是真的。我试图在这里阅读一些相关问题,但我认为我的是不同的,如果没有,请提供。
任何帮助将不胜感激。
试试这段代码:
<?php
$skills=explode(',',$skills);
if(in_array('java', $skills))
echo '<input type="checkbox" name="skills[0]" value="java" checked>java';
else
echo '<input type="checkbox" name="skills[0]" value="java">java';
if(in_array('php', $skills))
echo '<input type="checkbox" name="skills[1]" value="php" checked>php';
else
echo '<input type="checkbox" name="skills[1]" value="php">php';
if(in_array('css', $skills))
echo '<input type="checkbox" name="skills[2]" value="css" checked>css';
else
echo '<input type="checkbox" name="skills[2]" value="css">css';
if(in_array('asp', $skills))
echo '<input type="checkbox" name="skills[3]" value="asp" checked>asp';
else
echo '<input type="checkbox" name="skills[3]" value="asp">asp';
?>
下面的答案是正确的,但我检查了一个添加条件
if (empty($skills))
{
echo '<input type="checkbox" name="skills[0]" value="java">java';
echo '<input type="checkbox" name="skills[1]" value="php">php';
echo '<input type="checkbox" name="skills[2]" value="css">css';
echo '<input type="checkbox" name="skills[3]" value="asp">asp';
}
else
{
$skills=explode(',',$skills);
if(in_array('java', $skills))
echo '<input type="checkbox" name="skills[0]" value="java" checked>java';
else
echo '<input type="checkbox" name="skills[0]" value="java">java';
if(in_array('php', $skills))
echo '<input type="checkbox" name="skills[1]" value="php" checked>php';
else
echo '<input type="checkbox" name="skills[1]" value="php">php';
if(in_array('css', $skills))
echo '<input type="checkbox" name="skills[2]" value="css" checked>css';
else
echo '<input type="checkbox" name="skills[2]" value="css">css';
if(in_array('asp', $skills))
echo '<input type="checkbox" name="skills[3]" value="asp" checked>asp';
else
echo '<input type="checkbox" name="skills[3]" value="asp">asp';
}
或者你可以使用"echo",不需要长脚本
if(in_array('java', $skills))
echo '<input type="checkbox" name="skills[0]" value="java" {echo 'checked';}>java';