简而言之,用户将复选框值存储在 MySQL 数据库中。我可以遍历数据库以显示每个复选框的 VALUES (Skills_ID + Skills_Name),以便用户可以添加他们的技能;但是,对于数据库中已有的技能,我无法使用标记为“已选中”的默认值填充这些复选框。
一个装满业力的盒子,给今晚能帮我上床的人。:)
这是我的代码:
function isChecked() {
$query = "select * FROM individual_skills WHERE Ind_ID = ".$_SESSION['Ind_ID']. "";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
// If value exists, set $valueExitsInDB to true
if (isset($row['Skills_ID'])) {
$valueExitsInDB="TRUE";
} else {
$valueExitsInDB="FALSE";
}
// if the value does exist, then we are writing 'checked' in the checkbox
if ($valueExitsInDB) {
return "checked";
} else {
return "";
}
} // END WHILE LOOP
} // END FUNCTION
而且,我在复选框循环中的代码看起来像这样(无需让您阅读循环,因为我可以安全地将复选框值拉到输出 - 只是不是默认值):
echo "<input type='checkbox' name='skills[]' value='$skill_ID' checked='isChecked()'>". $skillName ."";
所以,你可以看到,我正在调用函数:isChecked()。
任何和所有的帮助,非常感谢。