В безе имеятся записи через зяпятую ip адресы, 127.0.0.1., 127.0.0.2, 127.0.0.3, 127.0.0.4,...
подскажите подалуйста как сделать проверку.
if ($ip ........ )
{ echo(‘такой ip уже есть в базе’); } else { выполняется сценарий добавления ip}
Спустя 15 минут, 9 секунд (10.07.2011 - 13:27) Invis1ble написал(а):
igorianru
В БД ? Это все в одном поле храниться или как?
В БД ? Это все в одном поле храниться или как?
Спустя 13 минут, 19 секунд (10.07.2011 - 13:40) igorianru написал(а):
Да, перечень айпишников а одном поле хранится. нужно это поле просканировать если от запятой до запятой нету совпадений то выполнить сценарий.
к примеру если зашол человек с айпи 127.0.0.1 функция проверяет в бд поле `ip`в котором записанно: 127.0.0.1., 127.0.0.2, 127.0.0.3, 127.0.0.4,...
находит такой же айпи то говорит что такой айпи есть.
к примеру если зашол человек с айпи 127.0.0.1 функция проверяет в бд поле `ip`в котором записанно: 127.0.0.1., 127.0.0.2, 127.0.0.3, 127.0.0.4,...
находит такой же айпи то говорит что такой айпи есть.
Спустя 20 минут, 24 секунды (10.07.2011 - 14:01) Winston написал(а):
Выбираешь поле с ip
потом разбиваешь их по запятой, и проверяешь
Например так
потом разбиваешь их по запятой, и проверяешь
Например так
$ip = explode(',', $row['ip']);
if(in_array($_SERVER['REMOTE_ADDR'], $ip))
echo 'есть';
else
echo 'нету';
Спустя 6 минут, 8 секунд (10.07.2011 - 14:07) Invis1ble написал(а):
лучше как-то так, имхо:
$res = mysql_query("SELECT COUNT(*) FROM `table` WHERE `ip` RLIKE '(^|,)" . preg_quote($ip) . "(,|$)'") or die(mysql_error());
if (mysql_num_rows($res)) {
// такой ip есть
}
else {
// ip не найден
}
Спустя 14 минут, 19 секунд (10.07.2011 - 14:21) igorianru написал(а):
Спасибо всем. Invis1ble мне ваш вариант больше по душе)
Спустя 23 минуты, 19 секунд (10.07.2011 - 14:44) igorianru написал(а):
рано обрадывался.. Invis1ble ваш вариант несовсем работает, он всегда "говорит"
// такой ip есть...
Спустя 3 минуты, 11 секунд igorianru написал(а):
а всё, сделал. мой косяк был.
// такой ip есть...
Спустя 3 минуты, 11 секунд igorianru написал(а):
а всё, сделал. мой косяк был.
Спустя 38 минут, 16 секунд (10.07.2011 - 15:23) Invis1ble написал(а):
Цитата |
рано обрадывался..Invis1ble ваш вариант несовсем работает, он всегда "говорит" // такой ip есть... |
да, я по-видимому ошибся с проверочкой
$res = mysql_query("SELECT COUNT(*) FROM `table` WHERE `ip` RLIKE '(^|,)" . preg_quote($ip) . "(,|$)'") or die(mysql_error());
if (mysql_result($res, 0)) {
// такой ip есть
}
else {
// ip не найден
}
но я думаю, это не важно. смысл в самом запросе :)