Итак, у меня есть запрос на создание массива 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
Жизнь была бы такой большой, если бы MySQL работал именно так. Он будет принимать только первое значение массива. Вам понадобится OR NOT IN (или несколько в этом отношении) в вашем запросе. –