我有用逗號分隔的用戶選項存儲在數據庫中,我有用戶選擇這些選項的完整選項列表。我正在嘗試獲取用戶選擇的選項,然後將逗號後的每個值分開,然後將其與完整選項進行比較,並使用複選框檢出所有選項中的用戶選項。並保持其他選項不被選中。但問題是我的結果正在重複。這是我的代碼當與循環的結果比較時,mysql結果會重複出現
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
}
}
}
?>
當你爲每個複選框收到一個相同的結果時,它們會重複嗎?這將是因爲你的第二次讀取沒有迭代,並且你只檢索第一行,但多次因爲其他循環放置在哪裏 – 2013-05-05 07:14:16
我從第一次查詢中獲得每行重複3次 – user1001176 2013-05-05 07:31:13