独特的个人资料视图计数器
Posted
技术标签:
【中文标题】独特的个人资料视图计数器【英文标题】:Counter for unique profile views 【发布时间】:2011-05-02 17:43:48 【问题描述】:所以我试图制作独特的个人资料视图,我想在 mysql 中创建 2 个表:
pages (id, profile_id, user_id, date)
profile_views (id, profile_id, user_id, count)
因此,当用户转到个人资料时,它将使用我的user_id
将新记录插入profile_vies
并增加计数器。它还会在pages
表中插入一条记录,其中包含我的数据。
如果在 24 小时内没有记录我的 ID 并且在 pages 表中设置了 profile_id
,则增量将开始,因为每 24 小时将删除所有小于 24 小时的查询,因此将进行新的计数。
我希望您对这个关于个人资料视图的理论提出意见......不使用存储 IP 的文本文件,或者如果您能告诉我有关如何实现这一点的更好想法。
【问题讨论】:
【参考方案1】:逻辑看起来不错。 当用户访问个人资料时,将该 ID 的计数添加到表中,同时保存日期时间。
如果用户在 24 小时内再次访问配置文件,则发现当前日期时间与您已保存在数据库中的日期时间之间的差异。如果超过 24 小时/1 天,则不要增加计数。
否则增加计数。
【讨论】:
【参考方案2】:<?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."";
?>
【讨论】:
以上是关于独特的个人资料视图计数器的主要内容,如果未能解决你的问题,请参考以下文章