【发布时间】:2019-03-25 08:00:48
【问题描述】:
我的应用程序将允许用户喜欢或不喜欢产品并留下简短的反馈。我必须创建一个功能来显示图表并根据不同的时间范围生成报告,可能是每年、每月、每周和每天。
我必须通过图表显示在特定时间段内有多少用户喜欢或不喜欢该产品并生成报告。所以我的应用程序应该能够生成特定产品的 2018 年 8 月日图 或 2018 年月度图。如果是每日图表,该图表应该能够显示每天有多少用户喜欢或不喜欢该产品,同样它可能是每周、每月或每年的时间范围
我不确定此类应用程序的数据库结构应该是什么?这是我到目前为止的想法。
products: id, name, descp...etc // products table
users: id, name, email ...etc // users table
user_reactions: id, user_id(foreign key), product_id(foreign key), action(liked or disliked, tinyint), feedback // user_reactions table
data: id, product_id(foreign key), date(Y-m-d), total_like, total_dislike. // data table, will be used to make graph and report
什么,我在想的是,我会在每天 23:59:59 运行一个 cron 作业来统计每个产品的好恶,并将数据添加到最后一个表中,即前面提到的 data 表上面然后将使用这个data 表格来制作图表和报告。我不确定这个数据库结构是否正确或者它有一些看不见的问题(可能是将来?)
注意:我的应用程序将位于PHP 和MySQL
【问题讨论】:
-
嗨。这篇文章没有问题。当您编辑它以询问一个时,它应该是适当的。 How to Askminimal reproducible example每个帖子问一个问题。
-
到目前为止一切顺利。写出实际的
SHOW CREATE TABLE语句和SELECTs。然后看看你是否需要进一步询问。
标签: php mysql sql database-design charts