Выборка из таблицы по условию, которого не существует

tooluz

Новичок
Выборка из таблицы по условию, которого не существует

PHP:
$ip = $_SERVER['REMOTE_ADDR'];

if ("$domen" != "ru" && "$domen" != null ){"insert into rucom  (dom,ip) values ('$domen','$ip')";}

Select * FROM rucom where ip='$ip'
if ($ip = "$res->ip")
{echo "com" ;} // ok!
else
{echo "ru";} // условие не выполняется
как получить "ru"?
 

Фанат

oncle terrible
Команда форума
кто-нибудь что-нибудь понял?

tooluz
если вопрос про SQL запросы, то нельзя ли убрать из вопроса PHP код, а добавить вмето него дамп базы и реальные результаты запросов?
 

tooluz

Новичок
CREATE TABLE rucom (
dom varchar(10) NOT NULL default '',
ip varchar(20) NOT NULL default '',
UNIQUE KEY New (ip)
) TYPE=MyISAM;

INSERT INTO rucom VALUES("com", "89.178.51.169");
 

Фанат

oncle terrible
Команда форума
блин. тебе всего лишь ip='$ip' на ip<>'$ip' поменять, что ли, надо?
 

tooluz

Новичок
30% приходят с google.com ...
70% --.ru
если com - заносим в базу ip адрес и соответственно com

если ru - ничего не заносим (можно конечно и ru заносить,
тогда проблема снимается)

потом делаем выборку, исходя из ip

Проблема в том, что если com, ip адрес есть в базе - условие
выполняется.
А если ru, то ip адреса нет в базе - условие выполняется.
 

Фанат

oncle terrible
Команда форума
что за бред? у тебя отдельная таблица для учета приходов с гугля?!

-~{}~ 11.02.07 15:20:

мля.
тебе нужно узнать, если ли в базе запрашиывемый ip?
 

SaNeK

Новичок
tooluz
я ничего не понял, но, может быть,
PHP:
if ($ip = "$res->ip")
заменить на
PHP:
if ($ip == "$res->ip")
?
 

SaNeK

Новичок
Фанат
не, на самом деле ;) Если у топикстартера проблемы из-за этого, то я умер.
 

tooluz

Новичок
что за бред? у тебя отдельная таблица для учета приходов с гугля?!
Не только с гугля, а всё что не ru.
Если посетитель пришел с ru - один сценарий,
если не с ru - другой.
Что-то вроде таркетинга, без использования базы айпи адресов.

тебе нужно узнать, если ли в базе запрашиывемый ip?
нет.
если com, de... - ip в базе есть
а вот если ru ip в базе нет.

запрос:
выбрать из таблицы, где ip равно 89.178.51.169

если com, то сценарий номер1,
если нет этого ip в таблице то сенарий номер2
т.е.
if ($ip = "$res->ip")
{echo "com" ;} // ok!
else
{echo "ru";} // вот здесь проблема, ip то в таблице нет!

-~{}~ 11.02.07 16:05:

пробовал == , <> , != ...

На if else построен весь сайт, первый раз столкнулся с тем,
что этот сценарий не работает.

if ("$domen" != null ){"insert into rucom (dom,ip) values ('$domen','$ip')";}
если сделать так, то всё работает.

Но зачем заносить эти 70 процентов, когда и так известно,
если посетитель не com, de..., то он ru

Этот сценарий можно построить и на куках.
 

Фанат

oncle terrible
Команда форума
Этот сценарий надо построить НА ЗАПРОСАХ.
как я уже говорил - если тебя интересует запрос, то и выполнять надо ЗАПРОСЫ, а не пхп код.
и здесь писать ЗАПРОСЫ и РЕЗУЛЬТАТЫ ЗАПРОСОВ, а не пхп код

-~{}~ 11.02.07 16:19:

тебе нужно узнать, если ли в базе запрашиывемый ip?
ты ХОРОШО подумал?
 

Фанат

oncle terrible
Команда форума
значит, такой ip в базе есть.

-~{}~ 11.02.07 17:07:

либо у тебя кривой код
 

tooluz

Новичок
значит, такой ip в базе есть
если com, то да
если ru, он туда не пишется

либо у тебя кривой код
сейчас перечитываю

повторюсь, но если и ru тоже добавлять в базу ...if ("$domen" != null ){"insert..., то всё - ok.
сейчас пока на сервере так и работает.
 

tooluz

Новичок
Я говорю о том, что там ЕСТЬ!
смотрю Mysql-Front-ом, его нет, поэтому и код его не видит,
а быть он там должен, чтобы код увидел хотябы его следы.
Нужно по другому составить запрос к базе.
 

SaNeK

Новичок
пробовал == , <> , != ...
что значит "пробовал"?

tooluz
откуда в БД появится домен зоны ру, если у тебя код:
PHP:
if ("$domen" != "ru" && "$domen" != null ){"insert into rucom  (dom,ip) values ('$domen','$ip')";}
- выполнять запрос на вставку только тогда, когда $domen != "ru" && $domen не пуст?

Я вообще нифига не понимаю, что тебе требуется. Объясни на простом русском языке, без кода.
 

tooluz

Новичок
ру и пустое поле (роботы) не вносим в базу.
вносим только com, de...

и запрос:
приблизимтельно -
ты кто? - я com.
Иди в базу!
Твой ip в базе? - Да.
На, смотри кино.

А ты кто? - я ру (или никто).
Нечего базу засорять.
Твой ip в базе? - НЕТ.
Кина не будет.
 
Сверху