Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подсчет числа просмотров part 2
 
 автор: Jovidon   (08.03.2013 в 21:44)   письмо автору
 
 

Здарова народ!!!
С празником если есть девочки :)

UPDATE tbl_name SET  view=view+1 WHERE id = $id;

Отлично работает!

Вапрос:
Как делать так чтобы один раз считал?
Если он обнавляеть страницу то еще раз счотчик обновляеться.

  Ответить  
 
 автор: Igorek   (09.03.2013 в 07:04)   письмо автору
 
   для: Jovidon   (08.03.2013 в 21:44)
 

вам нужно определить причину по которой скрипт два раза выполняется. например, браузер в поисках фавикона шлет дополнительный запрос.

  Ответить  
 
 автор: Jovidon   (09.03.2013 в 17:59)   письмо автору
 
   для: Jovidon   (08.03.2013 в 21:44)
 

тема закрыта.
Вдруг комута пригодиться

<?php
    $ip     
mysql_escape_string(urlencode($_SERVER['REMOTE_ADDR']));
    
$link     mysql_escape_string(urlencode($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']));
    
    
// COUNTER;
    
$q_counter "SELECT *
                  FROM `counter`
                  WHERE link = '
$link'";
    
$r_counter mysql_query($q_counter);
    if(
mysql_num_rows($r_counter) > 0)
    {
        
$counter     mysql_fetch_array($r_counter);
        
$like         $counter["vote_up"];
        
$dislike     $counter["vote_down"];
        
$view         $counter["view"];
        
$down        $counter["download"];
        
$down_word    $counter["download_word"];
        
$down_pdf    $counter["download_pdf"];
    }
    else
    {
        
$q_counter "INSERT INTO `counter`
                      VALUES('
$link','1','0','0','0','0','0')";
        
$r_counter mysql_query($q_counter) or die("Error inserting to counter " mysql_error());
    }
    
    
// USERS;
    
$q_user_ip "SELECT link
                  FROM `user_ip`
                  WHERE ip = '
$ip'
                  AND link = '
$link'";
    
$r_user_ip mysql_query($q_user_ip);
    if(
mysql_num_rows($r_user_ip) > 0)
    {
        if(
$counter["link"] != $link)
        {
            
$update_counter "UPDATE `counter`
                               SET view=view+1
                               WHERE link = '
$link'";
            
mysql_query($update_counter) or die("Error updateing " mysql_error());
        }
    }
    else
    {
        
$q_user_ip "INSERT INTO `user_ip`
                      VALUES('
$ip','NOW()','N','$link')";
        
$r_user_ip mysql_query($q_user_ip) or die("Error inserting to user_ip" mysql_error());
    }
    
    
$del "DELETE FROM `user_ip`
            WHERE putdate < NOW() - INTERVAL '24' HOUR"
;
    
mysql_query($del);
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования