php - 构建数据库,为用户记录大量动态数据

标签 php jquery mysql database

我正在制作一个网站,允许用户注册并在表格中记录他们的日常事件。他们的事件将存储在 MySQL 数据库中,并使用 jQuery/PHP 显示。

这是所存储的数据类型的示例图片 enter image description here

问题是,我不知道如何正确存储此类信息。

我最初打算为每个用户创建一个名为 $userid . "_activies" 的表或类似的内容,列 id, user_id, type, location, duration, date 。然后,要读取数据,我只需检查他们想要的日期并加载与该日期匹配的所有事件。这工作正常,但我不知道如何正确更新现有条目。

例如:在上图中,如果您想更改“Kitchen”行的持续时间,您将如何检测它是否已存在于数据库中?您不能简单地在 11/18/2012 检查包含“清洁”和“厨房”的行,然后覆盖它,因为“厨房”可能会在清洁部分出现多次(假设他们在去厨房后第二次清洁厨房)浴室)。

我最初想过制作每个 <tr> id 等于 id加载的数据字段,然后在保存数据时,检查行 id 是否存在已经存在并覆盖它。对于我的问题来说,这似乎是一个糟糕的解决方法。

我希望能够完全清除一整天的原始数据,并在点击保存时用表中包含的任何内容重写它。删除表中与表日期匹配的每一行,然后写入新信息是否合理?或者有没有更好的方法来存储这些信息。例如,我应该为每个用户每天创建一个新表吗?看起来有很多 table ......

我很困惑,任何人都可以分享关于如何设置数据库的任何想法吗?

最佳答案

我坚信将数据保存在逻辑 block 中。如果这意味着保持一切逻辑,请不要害怕使用更多的表。根据你所说的,我至少会有以下表格:

用户(用户 ID、用户名、密码、电子邮件...) 位置(位置 ID、位置名称、...) 持续时间(duration_id、duration_length(以 5、10 或 15 分钟为单位从最小持续时间增加到最大持续时间)) 事件(activity_id,activity_name,activity_description,activity_user(user_id),activity_date,activity_location(location_id),activity_duration(duration_id)...)

同样,这是基于您问题中描述的要素。这样,所有内容都将存储在 Activity 中,并且您显然需要索引 Activity_user。您只需在输入事件时将其添加到“事件”中,并根据“事件用户”和“事件日期”显示它们。希望这会有所帮助。

ETA:我意识到我没有回答你的最后一个问题。正如我所说,您将在 Activity 中输入新的事件,并且,如果您希望只维护给定用户的最新记录,则只需删除 user_id 的所有事件(其中 Activity_date 不是最新日期)即可。很难提供示例代码,因为我不确定你的意思到底是什么。我希望我至少正确地传达了基本知识。

关于php - 构建数据库,为用户记录大量动态数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8199428/

相关文章:

PHP Mysql内容抢先看

javascript - 等待 jQuery 中的动画

mysql - ColdFusion 数据源未正确连接

mysql - 引用外部查询/子查询的最佳方式?

php - 需要帮助构建列表以最大化整体输出

php - 如何动态添加文本框?

jquery - 将多个 val 添加到类的输入

mysql - 在 MySql 中加载带有位字段的 XML

javascript - 打开图(og :) meta tags not working in my website

jquery - 使用 _renderItem 类型会破坏自动完成字段