【发布时间】:2016-09-05 00:42:50
【问题描述】:
在数据库中,我有一列 'language',其值分别为 English、Arabic、Urdu。现在,我正在获取这些值并在复选框中显示这些值以进行更新。如果复选框的值与数据库值匹配,我必须选中复选框,然后将其选中,否则未选中。但是我得到了错误的结果。下面的代码仅适用于从数据库返回的第一个值,在我的情况下是 'English' 并检查它是否与数据库值匹配但代码不匹配为其他值工作,即使它与数据库值匹配,它仍然处于未选中状态。请帮助我..
下面是我的代码和图片...
PHP:-
$lang = $pdo->prepare("SELECT `language` FROM admin_panel_languages WHERE user_id=:user_id");
$lang->execute(array(":user_id"=>$user_id));
$lang_spoken=$lang->fetchAll(PDO::FETCH_ASSOC);
print_r($lang_spoken);
foreach($lang_spoken as $lang){
if($lang['language']=="English"){
?>
<label class="col-md-4">
<input type="checkbox" value="English" name="language[]" id='checkboxes' checked/> English </label>
<?php } else{ ?>
<label class="col-md-4">
<input type="checkbox" value="English" name="language[]" id='checkboxes'/> English </label>
<?php } break; } ?>
foreach($lang_spoken as $lang){
if($lang['language']=="Hindi"){
?>
<label class="col-md-4">
<input type="checkbox" value="Hindi" name="language[]" id='checkboxes' checked/> Hindi</label>
<?php } else{ ?>
<label class="col-md-4">
<input type="checkbox" value="Hindi" name="language[]" id='checkboxes'/> Hindi</label>
<?php } break; } ?>
现在,我的数组中有 English、Hindi、Arabic。但是我的代码仅适用于数组的第一个元素,即 English 并且 make 已检查,但对于其余值,即使语句匹配,它仍然未检查。对于其余的值,它总是会使用 else 语句。请告诉我问题出在哪里。提前谢谢..
【问题讨论】:
-
添加用户时如何在前端创建语言复选框?
-
@mujas 通过简单的 HTML () 等。
-
尝试将它放在一个 foreach 循环中
-
你能把你的数组粘贴到下面吗?