mysql_query(......) OR mysql_query(......);
_____________
Одесса - мой город!)))
mysql_query(......) OR mysql_query(......);
Цитата (Valick @ 6.02.2015 - 15:10) |
savelikan, не надо изобретать велосипед. Достаточно читать мануал. INSERT в частности ON DUPLICATE KEY UPDATE |
Цитата (Valick @ 6.02.2015 - 15:16) |
savelikan, т.е. у вас одинаковые ip адреса в двух и более строках, как вы их отличаете друг от друга? Может что-то не так с организацией БД? |
Цитата (Valick @ 6.02.2015 - 15:21) |
savelikan, так и браузеры могут совпасть? В чем проблема сделать уникальный индекс на два поля? |
CREATE TABLE IF NOT EXISTS `users_online` (
`users_online-id` int(11) NOT NULL AUTO_INCREMENT,
`users_online-ip` varchar(50) NOT NULL,
`users_online-guest` int(1) NOT NULL,
`users_online-user` int(11) NOT NULL,
`users_online-browser` varchar(200) NOT NULL,
`users_online-date` datetime NOT NULL,
`users_online-url` varchar(200) NOT NULL,
`users_online-href` varchar(200) NOT NULL,
`users_online-ref` varchar(200) NOT NULL,
PRIMARY KEY (`users_online-id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=25 ;
FOREACH($CONFIG['botagent'] AS $agent => $name){
IF(strpos($_SERVER['HTTP_USER_AGENT'], $agent)==TRUE){
$bot = $agent;
break;
}
}
IF($bot==TRUE){
$SQLonline = mysql_query("SELECT `users_online-id` FROM `users_online` WHERE `users_online-browser` = '".$agent."' LIMIT 1");
IF(mysql_num_rows($SQLonline)==1){
mysql_query("
UPDATE `users_online`
SET `users_online-date` = NOW()
WHERE
`users_online-browser` = '".$agent."'
LIMIT 1");
} else {
mysql_query("
INSERT INTO `users_online`(
`users_online-ip`,
`users_online-user`,
`users_online-browser`,
`users_online-date`,
`users_online-url`,
`users_online-href`,
`users_online-ref`
) VALUES (
'',
'0',
'".$agent."',
NOW(),
'".$GLOBAL_online_save."',
'".$_SERVER['REQUEST_URI']."',
'".$_SERVER['HTTP_REFERER']."'
)
");
}
} else {
IF($_SERVER['REQUEST_URI']!='/favicon.ico') {
IF($GLOBAL_user['users_id']>0){//Пользователь зарегистрирован
$SQLonline = mysql_query("
SELECT `users_online-id`
FROM `users_online`
WHERE
`users_online-user` = '".$GLOBAL_user['users_id']."'
LIMIT 1");
IF(mysql_num_rows($SQLonline)==1){
mysql_query("
UPDATE `users_online` SET
`users_online-date`=NOW(),
`users_online-url`='".$GLOBAL_online_save."',
`users_online-href` = '".$_SERVER['REQUEST_URI']."',
`users_online-ref` = '".$_SERVER['HTTP_REFERER']."'
WHERE `users_online-user` = '".$GLOBAL_user['users_id']."'
LIMIT 1
");
} else {
mysql_query("
INSERT INTO `users_online`(
`users_online-id`,
`users_online-ip`,
`users_online-user`,
`users_online-browser`,
`users_online-date`,
`users_online-url`,
`users_online-href`,
`users_online-ref`
) VALUES (
NULL,
'".func_getIP()."',
'".$GLOBAL_user['users_id']."',
'".$_SERVER['HTTP_USER_AGENT']."',
NOW(),
'".$GLOBAL_online_save."',
'".$_SERVER['REQUEST_URI']."',
'".$_SERVER['HTTP_REFERER']."'
)
");
}
} else {//
$SQLonline = mysql_query("
SELECT `users_online-id`
FROM `users_online`
WHERE
`users_online-ip` = '".func_getIP()."' AND
`users_online-browser` = '".$_SERVER['HTTP_USER_AGENT']."'
LIMIT 1");
IF(mysql_num_rows($SQLonline)==1){
$TSTonline = mysql_fetch_array($SQLonline);
mysql_query("
UPDATE `users_online` SET
`users_online-date`=NOW(),
`users_online-url`='".$GLOBAL_online_save."',
`users_online-href` = '".$_SERVER['REQUEST_URI']."',
`users_online-ref` = '".$_SERVER['HTTP_REFERER']."'
WHERE `users_online-id` = '".$TSTonline['users_online-id']."'
LIMIT 1
");
} else {
mysql_query("
INSERT INTO `users_online`(
`users_online-id`,
`users_online-ip`,
`users_online-user`,
`users_online-browser`,
`users_online-date`,
`users_online-url`,
`users_online-href`,
`users_online-ref`
) VALUES (
NULL,
'".func_getIP()."',
'0',
'".$_SERVER['HTTP_USER_AGENT']."',
NOW(),
'".$GLOBAL_online_save."',
'".$_SERVER['REQUEST_URI']."',
'".$_SERVER['HTTP_REFERER']."'
)
");
}
}
}
}