所以我有一個查詢來創建一個ID數組,我不想被包含在填充我的選擇列表的數據中。選擇列表和被排除的ID數組都是從mysql數據庫中提取的。我遇到的問題是,當我回顯$ exclude時,它顯示在逗號分隔列表(1,2,3)中正確。但是,當我嘗試將其添加到NOT IN語句中時,它僅排除第一個數字。我需要它排除整個陣列。有任何想法嗎?Php Mysql NOT IN數組隻影響數組中的第一個結果
<?php
$excludeSql = "SELECT member_id FROM appointments WHERE joint_id = '$jointid'";
$excludeData = mysql_query($excludeSql, $link);
while($excluderow = mysql_fetch_array($excludeData)){
$excludearray[] = $excluderow['member_id'];
}
$exclude = implode(',',$excludearray);
echo $exclude;
?>
<select name="attendees[]">
<option value="">--Select--</option>
<?php
$memberSql = "SELECT id, firstName, lastName FROM members WHERE id NOT IN('".$exclude."') && compid = '$compid' ORDER BY lastName ASC";
$memberResult = mysql_query($memberSql, $link);
while($memberRow = mysql_fetch_assoc($memberResult)){?>
<option value="<?php echo $memberRow['id'];?>" ><?php echo "".$memberRow['lastName'].", ".$memberRow['firstName'].""; ?></option>
<?php } ?>
</select>
您可以通過使用子查詢使用一個單一的查詢。 – VMai 2014-09-02 20:52:07
如果MySQL以這種方式工作,生活會非常美好。它只會取第一個數組的值。您的查詢中需要一個OR NOT IN(或多個)。 – 2014-09-02 20:53:37