gpt4 book ai didi

php - 记录用户浏览量,然后将其转化为有用的数据?

转载 作者:行者123 更新时间:2023-11-29 02:38:07 25 4
gpt4 key购买 nike

每当用户查看文章时,我的站点都会将点击记录到数据库中。该表每 3 天自动清除一次。我们使用这些数据计算出这 3 天内查看次数最多的页面。

我还想将此数据用于营销目的,例如,确定哪些用户喜欢网站的哪些部分。

我用 php 编写了一个脚本,它执行以下操作:

  • 获取过去 3 天内查看文章的所有登录成员(member)的用户 ID

  • 对于每个用户,我查询以计算他们在每个部分中查看文章的次数,例如,Bobby 在食品和饮料中查看了 10 页,在运动中查看了 6 页。我尝试将此步骤与上一步组合在一起,但总计结果很奇怪。

  • 这给了我一个很好的数组:

    [鲍比·琼斯] => 数组 ( [电影] => 10 [主页] => 1 [食物和饮料] => 2 [健康与美容] => 1 [礼品和小工具] => 3 )

我希望从这些数据中最终得到一个表,将数据记录在上面的数组中,然后当我运行查询时,将其递增。

不幸的是,这会增加很多开销。当我有像上面那样的数组时,我必须运行另一个查询来检查数据库中是否已经存在用户和类别的组合,如果存在,我必须将它增加当天的值。例如,如果 Bobby 上周查看了 10 个电影页面,而这周查看了 6 个,我需要更新表格。如果他以前从未查看过美食页面,我需要改为插入。

此查询返回 400 名左右在过去 3 天内与该网站进行过交互的用户。这意味着对于我的每个用户,我必须执行 1 个查询来获取他们的浏览总数,1 个查询以查看他们之前是否已经浏览过该类别,以及另一个更新/插入的查询,具体取决于他们是否浏览过它或不是。您可以看到这是多么低效。

有谁能提出更好的方法吗?我的最终目标是最终得到一个表格,显示我的用户浏览我的类别的频率,所以我可以说“向我展示所有喜欢食物和饮料的用户”等。

谢谢,马特

最佳答案

您可以使用 MySQL 的 INSERT...ON DUPLICATE KEY UPDATE 完成更新/插入行为.

您可以使用 MySQL 的 INSERT...SELECT 组合 SELECT 和 INSERT 查询.

如果您发布更多详细信息(例如,架构),我可以向您展示结合这两种技术的示例查询,尽管 MySQL 手册在这两个主题上都非常深入。

关于php - 记录用户浏览量,然后将其转化为有用的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1608423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com