【问题标题】:page views and page like count by date wise for the particular page php mysql特定页面php mysql的页面浏览量和页面喜欢按日期计算
【发布时间】:2014-02-06 07:47:03
【问题描述】:

我想存储特定页面的查看次数和点赞次数。

im 使用的页面 url 是唯一键(index.php),

在我的表中,我有以下列

普通表

id   |   page name    |  views    |    likes     |   timestamp  
 1   |   index.php    |    5      |      3       |   6-2-2014   
 2   |   abount.php   |   15      |     77       |   6-2-2014   

查看表

id   |   page name    |  date    |   ip   
 1   |   index.php    | 6-2-2014 | 127.0.0.1
 2   |   index.php    | 6-2-2014 | 127.0.0.2
 3   |   index.php    | 6-2-2014 | 127.0.0.3
 4   |   index.php    | 6-2-2014 | 127.0.0.4
 5   |   index.php    | 6-2-2014 | 127.0.0.5

对于喜欢的表

id   |   page name    |  date    |   ip   
 1   |   index.php    | 6-2-2014 | 127.0.0.1
 2   |   index.php    | 6-2-2014 | 127.0.0.2
 3   |   index.php    | 6-2-2014 | 127.0.0.3

我在这里所做的意思是,每次我在计数表中插入新记录时,我都会增加公用表中特定页面的计数,

1) 在这里,我只允许一次从一个 IP 点赞特定页面。
2) 我需要知道我如何获得每日浏览量和点赞报告。

我知道我有维护复杂的表,这种方法的任何简化

对不起我的英语

【问题讨论】:

  • 查看表和like表应该有来自普通表的foreignKey“page_id”。并且应该删除“page name”字段
  • 是的,照@nedstark 说的做,否则冬天会来!尽可能使用外键而不是 varchar。您正在不必要地复制数据并在数据库中丢失大量空间,更不用说选择速度慢了。
  • 不,你把东西放在单独的盒子里。你不会因为也许有一天你会烤蛋糕而把牛奶和鸡蛋放在同一个碗里。

标签: php mysql sql


【解决方案1】:

关于为 page_id 创建外键的 cmets 很好,你应该看看那些。但是,您的问题是关于如何获取每日摘要报告。

这将为您提供每日观看次数(同样适用于喜欢):

SELECT page_name, date, COUNT(ip) as viewcount
FROM views
GROUP BY page_name, date
ORDER BY page_name, date  -- you can select any ordering...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    相关资源
    最近更新 更多