Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2015, 17:45   #1
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию Можно ли сделать вложенный Select к Mysql в таком случае?

Таблица:
Код:
$sql = mysqli_query($link,"CREATE  TABLE IF NOT EXISTS `bd_avtopick`.`check_3`  (
	`login` VARCHAR(8)NOT NULL,
  `ip` INT UNSIGNED NOT NULL ,
  PRIMARY KEY (`ip`),
 INDEX(`login`(8))  )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci");

Необходимо выбрать все ip, где совпадает '$login с табличными данными.
А далее из имеющейся выборки узнать есть ли там данный ip.
Так осуществляю первую чать:
Код:
$sql = mysqli_query($link,"SELECT ip FROM check_3 WHERE login ='$login'");
Как дальше не знаю.

Последний раз редактировалось Illusiony; 26.01.2015 в 17:54.
Illusiony вне форума Ответить с цитированием
Старый 26.01.2015, 17:51   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что? Откуда?
Непонятна схема БД, в этой таблице нет никаких логинов.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.01.2015, 17:54   #3
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Что? Откуда?
Непонятна схема БД, в этой таблице нет никаких логинов.
Извините исправил.
А, если в теории:
Размер таблицы может быть от сотен до порядка 5000 записей.
вариантов логинов в таблице небольшое около 2-15.

Быстрее будет выполнить запрос сразу по всем ip (они хранятся
Код:
PRIMARY KEY (`ip`)   VARCHAR(8)
) чем сложную выборку с начало по логинам(
Код:
INDEX(`login`(8))
) их немного), а после по ip оставшихся в выборке?

Последний раз редактировалось Illusiony; 26.01.2015 в 18:01.
Illusiony вне форума Ответить с цитированием
Старый 26.01.2015, 17:59   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Illusiony Посмотреть сообщение
А далее из имеющейся выборки узнать есть ли там данный ip.
Что такое «данный ip»?
Andkorol вне форума Ответить с цитированием
Старый 26.01.2015, 18:01   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

так надо что ли?
Код:
SELECT * FROM check_3 WHERE login = xxx AND ip = yyy
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.01.2015, 18:02   #6
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Что такое «данный ip»?
В скрипте будет известен ip который нужно найти в таблице и login
Illusiony вне форума Ответить с цитированием
Старый 26.01.2015, 18:02   #7
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

тут вложенный не надо
lomastr_ вне форума Ответить с цитированием
Старый 26.01.2015, 18:04   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Всё правильно рекомендует Alex11223 – выбирай сразу по двум критериям: логину и IP.
Andkorol вне форума Ответить с цитированием
Старый 26.01.2015, 18:05   #9
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
так надо что ли?
Код:
SELECT * FROM check_3 WHERE login = xxx AND ip = yyy
Возможно. Буду пробовать. Спасибо всем. Если что отпишу.
Illusiony вне форума Ответить с цитированием
Старый 26.01.2015, 18:09   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Возможно, стоит таки заняться изучением SQL.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли применить функцию format в таком случае? XE5 Общие вопросы Delphi 14 01.05.2014 03:20
Как сделать чтобы через форму можно было принимать почту и в таком формате - info@robot-robot. rafshm PHP 7 11.01.2013 13:00
как авторизоваться в таком случае? grafgrial Общие вопросы Delphi 2 19.09.2011 21:38
MySQL, dbExpress, Не работает Select lexastik БД в Delphi 0 02.09.2011 17:43
Как Firefox рассчитывает ширину столбцов вот в таком случае??? Finer HTML и CSS 3 26.04.2008 16:47