Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Запрос на выборку данных
Покинул форум
Сообщений всего: 87
Дата рег-ции: Дек. 2012
Помог: 0 раз(а)
[+]
Что-то уже голова не соображает. Как правильно сделать запрос? Нужно текущую информацию сравнить с "черным списком" и при наличии совпадений вывести алерт.
В "черном списке" есть поля: адрес, телефон 1, телефон 2, телефон 3.
В текущей форме: адрес, телефон 1, телефон 2
$blacklistsql=mysql_query("SELECT blacklist_id FROM blacklist WHERE blacklist_adress='".$row['adress']."' OR (blacklist_onetel='".$row['onetel']."' OR blacklist_onetel='".$row['twotel']."' OR blacklist_twotel='".$row['onetel']."' OR blacklist_twotel='".$row['twotel']."' OR blacklist_threetel='".$row['onetel']."' OR blacklist_threetel='".$row['twotel']."')");
if($blacklist["blacklist_id"]<>""){$blacklist="<a href=\"../blacklist/blacklist_update.php?upd=".$blacklist["blacklist_id"]."\" target=\"_blank\"><span class=\"red\">NB! Клиент в черном списке!</span></a>";}
Если убрать сравнение по телефонам и сравниваем только по адресу - все ОК, если добавляем по телефонам - постоянно выводит совпадение (даже если не совпадает).
re_nat
Отправлено: 27 Января, 2016 - 18:17:37
Частый гость
Покинул форум
Сообщений всего: 198
Дата рег-ции: Март 2012
Помог: 5 раз(а)
Смотря, что Вам нужно. Если требуется проверить наличие записей, у которых совпадает адрес и хотя бы один из телефонов, то:
... WHERE адрес AND (телефон1 OR телефон2 OR телефон3)
alsio
Отправлено: 27 Января, 2016 - 19:37:59
Гость
Покинул форум
Сообщений всего: 87
Дата рег-ции: Дек. 2012
Помог: 0 раз(а)
[+]
Проверить любое совпадение. Или адрес, или телефоны. По-идее везде должно быть OR, как в моем примере. Но так постоянно выводит совпадение (даже если не совпадает).
Panoptik
Отправлено: 27 Января, 2016 - 20:10:08
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
ответ хранится в пустых значениях
подсказка: что будет если в одном из полей черного списка не будет данных, к примеру телефон3 будет пустым и на вход для проверки придет только один номер телефона а второй будет пустым
соответственно
искомый_телефон = ""
телефон из черного списка = ""
"" == "" => что будет?
----- Just do it
alsio
Отправлено: 28 Января, 2016 - 16:43:23
Гость
Покинул форум
Сообщений всего: 87
Дата рег-ции: Дек. 2012
Помог: 0 раз(а)
[+]
Вот спасибо! Действительно! Отсечку пустых полей сделаю, а в остальном значит правильно, через OR?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.