介绍一下Jimmy,他的新人生目标是证明巧克力是最好的冰淇淋口味。为此,他建立了一个简单的表单,包含单选按钮和一个用于输入名字的文本字段,以便将链接发送给朋友。
他正在使用非常常见的设置,MySQL 和 PHP 将表单提交保存在类似以下这样的表格中:
selection
是口味的 ID。这些口味存储在 PHP 数组中,因为他计划在未来的页面中使用这个口味列表:
$flavors = array(
1=>"Chocolate",
2=>"Cherry",
....
);
表单成功了,他的朋友们开始要求Jimmy添加新选项,所以Jimmy决定将表单升级到下一个级别,并添加国家、年龄、电子邮件等信息,但这次他怀疑是将口味名称、国家、年龄和其他静态数据保存在数组中,还是将它们保存在数据库表中更好。无论如何,他知道如何在查询中进行连接。第一种方法
意味着有一个包含许多数组的PHP文件,并且每当Jimmy需要使用味道名称时,就要访问它,例如:$query = mysql_query("SELECT name, flavor FROM votes")
while($row = mysql_fetch_assoc($query)){
echo $row["name"]." - ".$flavors[$row["flavor"]];
}
第二种方法
意味着在数据库中有许多表,并且每次需要像这样的名称时都需要执行连接操作:$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"];
}
虽然看起来差别不大,但这对 Jimmy 来说是一个重要的决定,因为他希望在未来构建更多、更大的表单。
对于与数据库中的 ID 相关联的静态数据(如口味名称、国家、年龄组等),Jimmy 最好如何处理?
给出环境细节:
- 数组是静态的,几乎不会改变
- 他将在多个页面上使用这些数据,因此硬编码不方便
- 添加新数组通常更快
感谢您提前帮助他。