Что нужно извлечь из этого запроса - существует значение `gd`, нужно найти множество `gd` с определенным циферным идентификатором.
Значение `gd` может быть одинаковое, то есть строк в таблице `refresh` с цифрой 68 в значение `gd` может быть даже 10.
Выполняя этот запрос мне нужно только узнать существует `gd` с такой цифрой или нет, если есть записать в массив.
Вопрос заключается следующий: как оптимизировать запрос чтобы он не продолжал дальше выводить одинаковые `gd` - допустим если он нашел `gd`=`13` (А таких строк в таблице 7, то он остальные 6 строк пропустил со значением 13 и продолжил дальше искать другие значения).
Код:
$array=array(
);
$search=mysql_query("SELECT * FROM `refresh` WHERE `gd`='13' OR `gd`='36' OR `gd`='68' OR `gd`='106' OR `gd`='864' OR `gd`='1033' OR `gd`='3315' OR `gd`='5103'");
while($search1=mysql_fetch_array($search)){
$gd=$search1['gd'];
$array[$gd]=1;
}
Конечно можно сделать по другому:
$arr=array(13,36,68,106,864,1033,3315,5103);
foreach($arr as $v){
$search=mysql_query("SELECT * FROM `refresh` WHERE `gd`='$v' LIMIT 1");
$search1=mysql_fetch_array($search);
$gd=$search1['gd'];
if($gd>0){
$array[$gd]=1;
}
}
Но так получится 8 запросов в базу... я как понимаю если условие изначально идет "WHERE `gd`='13' OR `gd`='36' OR `gd`='68' OR `gd`='106' OR `gd`='864' OR `gd`='1033' OR `gd`='3315' OR `gd`='5103'" и допустим существует только два `gd` в базе (например `gd`='106' и `gd`='864'), то запросов в базу будет только 2... - или я не так понимаю принцип работы mysql...
Подскажите пожалуйста как правильно прописать запрос в базу "WHERE `gd`='13' OR `gd`='36' OR `gd`='68' OR `gd`='106' OR `gd`='864' OR `gd`='1033' OR `gd`='3315' OR `gd`='5103'" - чтобы одинаковые значения `gd` не выводились, так есть нашел значение 106, все остальные строки со значением 106 пропустить, искать другие значения.