Делаю такой запрос: Код (Text): $new_view = $myrow["view"] + 1; $update = mysql_query ("UPDATE table SET view='$new_view' WHERE id='$id'",$db) Таким образом считаю сколько раз открыли страницу. А можно ли поставить ограничения на IP адрес. Чтоб в сутки один ip один раз и считал, не зависимо сколько раз с этого ip адреса открыта страница?
Если таблица каждый год чистится, то считать удобнее по дням: PHP: <?php $query = 'SELECT * FROM `table ` WHERE `ip`='.ip2long($_SERVER["REMOTE_ADDR"]).' AND `day`='.date("z"); $resourse = mysql_query ($query) if (!mysql_num_rows($resourse)) { mysql_query ("UPDATE `table` SET `view`=`view`+1, `day`='.date("z").' WHERE `ip`='.ip2long($_SERVER["REMOTE_ADDR"])) } Прошу обратить особое внимание на запросы.
Код (Text): <? function online () { $ip=getenv("HTTP_X_FORWARDED_FOR"); if (empty($ip) || $ip=='unknown') { $ip=getenv("REMOTE_ADDR"); } # уд. старые сессии mysql_query ("DELETE FROM online WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time) > 3000") or die ("Can't delete old sess"); # проверка на присутстаие или занесение нового пользователя $select = mysql_query ("SELECT ip FROM online WHERE ip='$ip'") or die ("Can't select duble"); $tmp = mysql_fetch_row ($select); if ($ip == $tmp[0]) { mysql_query ("UPDATE online SET time=NOW() WHERE ip='$ip'") or die ("Can't update"); } else { mysql_query ("INSERT INTO online (ip,time) VALUES ('$ip',NOW())") or die ("Can't insert"); } Проверяю есть ли в БД такой ip, если нет добавляю, если есть то удаляю его через 3000 секунд (ну это для примера). А вот дальше Код (Text): $result1 = mysql_query ("SELECT * FROM pesni WHERE id='$id'",$db); $myrow1 = mysql_fetch_array ($result1); $new_view = $myrow1["view"] + 1; $update = mysql_query ("UPDATE pesni SET view='$new_view' WHERE id='$id'",$db); Добавляю просмотр песни. А как связать эти 2 запроса? Чтоб он не добавлял просмотр если в БД есть такой ip?