我只想在这里分享关于复选框的问题,因为我知道很多人可以在这里帮助我。我有一个名为skills []的复选框数组,我将已选中的复选框存储在我的数据库的单个列中,因为这是一个应用程序表单项目。我使用implode()
将数据库中选择的技能分开:
$skills = implode(',',$skills);
现在这是我的真正问题,因为我不知道如何检索数据库中已选中的复选框,因为每当我尝试编辑我选中的复选框时。即使值在数据库中,也会检查复选框中的任何内容。
获取技能价值的PHP代码:
$skills = $wpdb->get_results("SELECT skills FROM php_employee_skills WHERE id=13");
if($skills!=null){
foreach($skills as $value):
$skills=$value->skills;
endforeach;
}else{
echo"<div class='updated' style='height:50px; font-size:12px;'>"."<br>".$message." in table skills in database"."</div>";
}
我不知道在我的html代码中放置什么来检索数据:
<td><input type="checkbox" name="skills[]" Value="C# Java" class="cbox">C# Java</td>
注意:申请表中的复选框形式的技能超过10,所以我使用implode将它们保存在我的数据库中。在我的申请表格中使用内爆或爆炸是否正确?
答案 0 :(得分:0)
喜欢这个吗?
$str="php,mysql,java";
$skills=explode(",",$str);
//print_r($str2);
foreach ($skills as $chk)
{
echo '<input type="checkbox" value="'.$chk.'">'. $chk."\n";
}
答案 1 :(得分:0)
为选中的复选框添加已选中属性
<td><input type="checkbox" name="skills[]" Value="C# Java" class="cbox" checked>C# Java</td>
如果你只在复选框中工作,那没问题。但如果你试图列出谁在数据库中指定了“技能”,你应该将它们分开。
答案 2 :(得分:0)
if ( $skills != null ) {
foreach ( $skills as $skill) {
....
}
}
请务必阅读WP中的coding standards。它可以改进您的代码以跟随它们。
现在,下一个问题是您需要一种方法来识别您的技能:
<td><input type="checkbox" name="skills[]" value="C# Java" class="cbox" <?php echo (in_array('C# Java', $skills) ? 'checked' : '' ) ?> /> C# Java</td>
在此行中,您可以检查技能是否在您的技能组中。如果是,则添加已检查属性,否则不会发生任何事情。