做活动列表/日志的方式/编码方法
好的,所以这个问题不是关于编码过程,而是更像是对此活动列表进行编码的一种好的、干净的方式,我计划构建..
此活动列表将包含页面上的所有活动。
因此,基本上在页面上执行的所有操作中,它都会调用类似于insertActivity($stuff)
的函数来插入有关该活动的内容,例如,您刚刚做了什么。
现在想知道编码方式,应该怎么做?
我应该在db的行中显示消息"You Just do do",还是应该在php文件中定义数字1表示"you only do"?
我应该在php文件中定义数字1来表示"您刚刚做了某事"?使用未存储在数据库中的消息将帮助我稍后编辑所有活动消息的消息,例如,消息是否应更改为"您刚刚吃了什么"。
我是应该按照我之前所说的在保存操作之前/之后调用函数、将此操作登录到活动列表中,还是使用任何其他更好的方法来执行此操作?
我想的只是insert tActivity()应该通过它获得的输入($Stuff)将活动插入到数据库中。
非常感谢一种简单明了的编码方式来完成此操作。
解决方案
即.一个不可能的问题。这不是不可能的,因为很难回答,不可能给出一个好的答案,这是不可能的,因为有许许多多不同的好答案,没有"正确"的答案。
关于拥有两个表有很多需要说明的地方,一个是用于描述的,另一个是引用描述ID的外键。检索值非常简单:
SELECT -- your other columns can go here.
(SELECT DESCRIPTION FROM DESCRIPTIONS DE
WHERE DE.ID = DID.DESCRIPTION_ID LIMIT 1) as ACTIVITY
-- I always add a LIMIT in a sub-query...
-- your other columns can go here.
FROM DID_THINGS DID WHERE USER_ID = 1;
如果活动的数量合理有限(这些活动是事先知道的),那么MySQL会使这种类型的结构变得稍微容易一些--您应该研究一下ENUM类型。然而,对于ENUM,这成了修改站点的最烦人的方式。就我个人而言,我喜欢第二个餐桌选项,而且我经常使用它。如果我想要它,以便管理员可以添加类似"您看过的东西"之类的内容,我只需通过Web表单将其公开,并将宝贵的数据库密钥隐藏在没有人知道的地方,包括我。
另一种常见的操作方法是简单地使用关联数组(或散列等)。这样做的好处是它可能不涉及数据库连接,它非常简单,并且测试和调试非常容易和明显。由于这些原因(以及其他原因),在国际化脚本中经常会使用到这一点。问题是,为了向其中一个阵列添加某些内容,您需要实际操作,修改该文件,然后将该文件重新部署到站点的所有版本。现在,这通常是微不足道的简单的事情,但这是一个额外的步骤。允许用户向列表中添加数据非常困难(尽管并非完全不可能),输入数据后编辑数据更是令人讨厌。
相关文章