Php 根据mysql表值是否选中显示复选框
我有一个表单,其中的字段自动填充mysql表中的数据。特别是两种类型的角色的两个复选框输入字段;讲师和联系人。我最初将表中的值存储为1或0以表示真或假。一个人可以是一个或另一个,两者都不是或两者都不是。当我试图通过复选框显示这些值时,我没有得到结果。如果表中特定角色的值为1,我希望选中该复选框。我没有得到任何结果 数据库查询和显示:Php 根据mysql表值是否选中显示复选框,php,Php,我有一个表单,其中的字段自动填充mysql表中的数据。特别是两种类型的角色的两个复选框输入字段;讲师和联系人。我最初将表中的值存储为1或0以表示真或假。一个人可以是一个或另一个,两者都不是或两者都不是。当我试图通过复选框显示这些值时,我没有得到结果。如果表中特定角色的值为1,我希望选中该复选框。我没有得到任何结果 数据库查询和显示: $db_select = $db_con->prepare(" SELECT a.name, a.a
$db_select = $db_con->prepare("
SELECT a.name,
a.academy_id,
p.contact_role,
p.instructor_role
FROM academy a
LEFT JOIN person p ON a.academy_id = p.academy_id
WHERE a.academy_id = :id
");
if (!$db_select) return false;
if (!$db_select->execute(array(':id' => $id))) return false;
$results = $db_select->fetchAll(\PDO::FETCH_ASSOC);
if (empty($results)) return false;
$result = '';
foreach ($results as $value){
$result .= "<ul>";
$result .= "<li><input id=\"person_contact\" name=\"person_contact\" type=\"checkbox\"". $contact_role = $value2['contact_role'] == "1" ? "checked='checked'" : "" ." />Concact</li>";
$result .= "<li><input id=\"person_instructor\" name=\"person_instructor\" type=\"checkbox\"". $instructor_role = $value2['instructor_role'] == "1" ? "checked='checked'" : "" ."/>Instructor</li>";
$result .= "</ul>";
$s++;
}
更新:
美元的价值是多少?您在foreach语句中使用了$value
也改变
$contact_role = $value2['contact_role'] == "checked"
到
再检查一遍
同样对于html混乱:
$result="";
$strChecked="";
foreach ($results as $value){
$result .= "<ul>";
if ($value2['contact_role'] == "1")
$strChecked = "checked='checked'";
$result .= "<li><input id='person_contact' name='person_contact' type='checkbox'". $strChecked ." />Concact</li>";
$result .= "<li><input id='person_instructor' name='person_instructor' type='checkbox'". $strChecked ."/>Instructor</li>";
$result .= "</ul>";
}
首先,我认为你对$value2有一个问题-那不应该只是$value2吗
其次,除非在复选框输入中指定值属性,否则如果选中,它将在get/post期间返回,如果不选中,它将不会返回值。尝试在复选框中添加值=1,然后根据1检查值。请发布语法错误here@BhavikShah张贴error@BhavikShah修复了语法错误,但仍然无法获取结果by no results表示您无法从数据库中获取任何记录,或者您的意思是您正在从数据库中获取记录,但未正确选中复选框?好的,现在正在工作,但是html显示与echo Conact不匹配;您是否将$value2更改为$value??
$result="";
$strChecked="";
foreach ($results as $value){
$result .= "<ul>";
if ($value2['contact_role'] == "1")
$strChecked = "checked='checked'";
$result .= "<li><input id='person_contact' name='person_contact' type='checkbox'". $strChecked ." />Concact</li>";
$result .= "<li><input id='person_instructor' name='person_instructor' type='checkbox'". $strChecked ."/>Instructor</li>";
$result .= "</ul>";
}