gpt4 book ai didi

php - 在事件提要中对类似事件进行分组

转载 作者:行者123 更新时间:2023-11-29 03:10:56 25 4
gpt4 key购买 nike

在谷歌和Stackoverflow上搜索了类似的问题,我仍然没有找到任何解决方案。

我网站的主要部分之一是事件源。它显示了不同用户所做的所有操作,就像 Facebook 一样。我将所有事件存储在 MySQL 表中,并使用 PHP 呈现 View 。

我想像 Facebook 那样对类似的事件进行分组:

*Current situation:*
- User A uploaded a picture
- User A uploaded a picture

*Desired situation:*
- User A uploaded 2 pictures

我的事件表是这样的:

[Activities]
- i_id
- a_source
- a_type
- a_parent
- a_parent_id
- a_data (json string with meta data, photo filenames for example)

我在stackoverflow上发现了这些问题,但都没有提供解决方案:

  1. https://stackoverflow.com/questions/5844655/how-to-group-similar-items-in-activity-feed-similar-to-facebook
  2. User activity feed (ala facebook). How to group similar activities?
  3. How to group similar items in an activity feed

:编辑:

我正在寻找一种方法,并希望了解您对如何解决此问题的想法。

是否最好运行一个 cron 作业并将数据库中的所有相同项目分组?或者在渲染时使用 php 执行此操作会更好吗?

我更喜欢(实时)php 解决方案,但我又不知道从哪里开始。

我只是需要一个起点,以便以后阅读。

最佳答案

I'm looking for an approach and want your thoughts on how to solve this.

简答? 分组依据

答案纯粹基于假设?下面:

盲目编码,因为除了situations 和表格列之外,您没有提供任何其他内容:

目前似乎有意义的列的假设数据(同样,没有看到任何数据):

i_id    a_type
123 photo upload
123 photo upload
123 comment

与: i_id - 作为用户 ID a_type - 是一种事件

只是做:

SELECT a.i_id, a.a_type, COUNT(1) AS activity_count
FROM activities AS a
WHERE a.i_id = 123 -- or convert this to a parameter through PHP->PDO
GROUP BY a.i_id, a_type

上面的 SQL 应该给你:

i_id    a_type          activity_count
123 photo upload 2

Would it be best to run a cron job and group all the same items in the db? Or would it be better to do this on render time with php?

您需要聚合数据吗? activities 表是否有数百万和数百万......的数据,或者它是否期望有那么多数据?您是否需要每个用户的事件摘要报告?您会主要使用表格来制作报告吗?您是否会对该表进行分区并将数据存档,从而只需要聚合数据以供将来检查或报告?

I prefer a (realtime) php solution but then again i don't know where to start.

您可以在 google 中搜索真正的 PHP 解决方案。这个 stackoverflow 不太可能是你能得到的地方。链接,也许。

I just need a starting point for future reading.

LINK: On GROUP BY

LINK: On PDO

关于php - 在事件提要中对类似事件进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8559997/

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