我将用户选项存储在以逗号分隔的数据库中,并且我拥有用户从中选择这些选项的完整选项列表。我正在尝试获取用户选择的选项,然后将其分隔为逗号后的每个值,然后将其与完整选项进行比较,并使用复选框将用户选项从所有选项中选中。并保持其余选项未选中。但问题是我的结果正在重复。这是我的代码
function
get_religion_pref($page,$user_id)
{
$getrow=mysql_query("select * from religion");
while($results=mysql_fetch_array($getrow))
{
$main_values=$results['religion'];
$query=mysql_query("select * from partner_prefrences where uid=$user_id");
$row=mysql_fetch_array($query);
$string =$row['religion'];
$string = preg_replace('/\.$/', '', $string); //Remove dot at end if exists
$array = explode(',', $string); //split string into array seperated by ', '
foreach($array as $value) //loop over values
{
?>
<li>
<label class="checkbox">
<input type="checkbox" value="<?php echo $main_values; ?>"
<?php if($main_values==$value){?> checked <?php } ?>><?php echo $main_values; ?>
</label>
</li>
<?php
}
}
}
?>