认识吉米.他创造了新的人生目标,证明巧克力是有史以来最好的冰淇淋口味.为此,他构建了一个带有单选按钮和名称文本字段的简单表单,以便将链接发送给他的朋友.

他正在使用一个非常常见的设置,MySQL和PHP将表单提交保存在一个如下所示的表中:

selection是味道的id.这些风格存储在PHP数组中,因为他计划在以后的页面中使用favour列表:
$flavors = array(
1=>"Chocolate",
2=>"Cherry",
....
);
Run Code Online (Sandbox Code Playgroud)
表格取得了成功,他的朋友们开始要求Jimmy添加新选项,因此Jimmy决定将其提升到新的水平,并将国家,年龄,电子邮件和其他内容添加到表单中,但这一次他对此表示怀疑.将味道名称,国家,年龄和其他静态数据放在数组中或将它们中的每一个保存在数据库表中是否更好,他知道如何在查询中进行连接.
$query = mysql_query("SELECT name, flavor FROM votes")
while($row = mysql_fetch_assoc($query)){
echo $row["name"]." - ".$flavors[$row["flavor"]];
}
Run Code Online (Sandbox Code Playgroud)
$query = mysql_query("SELECT name, flavor FROM votes LEFT JOIN flavors
WHERE votes.flavor = flavors.flavor");
while($row = mysql_fetch_assoc($query)){
echo $row["name"]." - ".$row["flavor"];
}
Run Code Online (Sandbox Code Playgroud)
虽然这似乎没什么区别,但对于Jimmy而言,这是一个重要的决定,因为他希望将来能够构建更多更大的形式.
Jimmy处理与数据库中的ID相关联的样式名称,国家/地区,年龄组等静态数据的最佳方式是什么?
鉴于环境细节:
在此先感谢帮助他.
我认为吉米应该考虑如何展示他的数据。为什么把他的征服仅限于口味。
如果吉米想要存储大量小数据,那么数据库就是最佳选择。如果吉米想要存储项目的图像,那么这些图像应该存储在文件中,并且他应该将它们的相对位置存储到数据库中的某个根目录
也许一张表可以包含:
VOTE_ITEMS
ID - PRIMARY KEY
NAME
IMAGE
TAGS - (Maybe an imploded ID array with the IDs pointing to a TAG table)
...
Run Code Online (Sandbox Code Playgroud)
另一个表可以包含:
USERS
ID - PRIMARY KEY
...
(As much information as your want to collect from your users)
...
Run Code Online (Sandbox Code Playgroud)
投票:
POLLS
ID
VOTE_ITEM_IDS
...
USER_VOTES
POLLS_ID
VOTE_ITEM
USER_ID
Run Code Online (Sandbox Code Playgroud)
由于吉米似乎对数据库了解很多,因此每当他想要添加一些内容时,他都可以根据自己的需要添加另一列(或表)。另外,如果我们包装一个可爱的用户系统,他将来可以在其他项目中重用它!
| 归档时间: |
|
| 查看次数: |
1723 次 |
| 最近记录: |