Счетчик уникальных просмотров профиля - PullRequest
2 голосов
/ 02 мая 2011

Так что я пытаюсь сделать уникальные представления профиля, я подумал о создании 2 таблиц в MySQL:

  • pages (id, profile_id, user_id, date)
  • profile_views (id, profile_id, user_id, count)

Поэтому, когда пользователь заходит в профиль, он вставляет новую запись в profile_vies с моим user_id и увеличивает счетчик. Также он вставит в таблицу pages запись с моими данными.

Приращение начнется, если в течение 24 часов в таблице страниц не будет задана запись моего идентификатора и profile_id, потому что каждые 24 часа все запросы <24 часа будут удаляться, поэтому будут производиться новые подсчеты. </p>

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

Ответы [ 2 ]

1 голос
/ 02 мая 2011

Логика выглядит отлично.Когда пользователь посещает какой-либо профиль, добавляйте в таблицу количество этого идентификатора, сохраняйте также дату и время.

Если пользователь снова посещает профиль в течение 24 часов, найдите разницу между текущей датой и временем, которое вы сохранили.в БД уже.если это больше 24 часов / 1 день, не увеличивайте счет.

В противном случае увеличивайте счет.

0 голосов
/ 29 мая 2012
<?php
    //Include your database here.

    $ID = mysql_real_escape_string(strip_tags(stripslashes($_GET['ID'])));


    $getUser = mysql_query("SELECT * FROM Members WHERE ID='".$ID."'");
    $gU = mysql_fetch_object($getUser);


    if ($myU->ID != $ID) {

        if ($User) {

            mysql_query("UPDATE Members SET ProfileViews=ProfileViews + 1 WHERE ID='".$ID."'");

        }

    }

    echo "".$gU->ProfileViews."";

?>
...