我在MySQL数据库中有五个表。
根据用户在HTML表单中的选择,数据将被放入相关表中。
这是处理该任务的PHP的简化示例:
ResultDF
此脚本按预期工作。当用户选择上面列出的任何类别值时,输入都将放入适当的表中。
但是,当我将多个值分配给resultDF.show
// +---+-------+-------+-------+-------+-------+-------+
// | id|3m_var1|6m_var1|9m_var1|3m_var2|6m_var2|9m_var2|
// +---+-------+-------+-------+-------+-------+-------+
// | 1| 10| 21| 33| 13| 27| 42|
// | 2| 20| 41| 63| 23| 47| 72|
// | 3| 30| 61| 93| 33| 67| 102|
// +---+-------+-------+-------+-------+-------+-------+
变量时,就会出现问题。例如,用户可以从多个水果中进行选择,每个水果都应进入“水果”表。
如果我将初始if ( $category == "apple" ) {
$sql = "INSERT INTO fruits (category,email) VALUES ('$category','$email')";
} elseif ( $category == "broccoli" ) {
$sql = "INSERT INTO vegetables (category,email) VALUES ('$category','$email')";
} elseif ( $category == "bread" ) {
$sql = "INSERT INTO grains (category,email) VALUES ('$category','$email')";
} elseif ( $category == "chicken" ) {
$sql = "INSERT INTO meats (category,email) VALUES ('$category','$email')";
} else {
$sql = "INSERT INTO catchall (category,email) VALUES ('$category','$email')";
}
语句调整为:
$category
...保留所有其他内容不变,该脚本不再起作用。
现在,所有提交的输入都将放入“水果”表中。甚至“西兰花”,“面包”和“鸡肉”也变成了“水果”。随机值(应放入“内容包”表中)也应放入“水果”中。
只是想知道我在想什么。谢谢。
答案 0 :(得分:2)
您对代码的使用是错误的。应该是这样的。
if ( $category == "apple" || $category == "bananas" || $category == "oranges" ) {
有一种更好的方法编写具有相似结果的代码。
if (in_array($category, array("apple", "bananas", "oranges"))) {