了解IF语句中的逻辑运算符OR

时间:2018-08-15 02:42:18

标签: php html mysql database

我在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

...保留所有其他内容不变,该脚本不再起作用。

现在,所有提交的输入都将放入“水果”表中。甚至“西兰花”,“面包”和“鸡肉”也变成了“水果”。随机值(应放入“内容包”表中)也应放入“水果”中。

只是想知道我在想什么。谢谢。

1 个答案:

答案 0 :(得分:2)

您对代码的使用是错误的。应该是这样的。

if ( $category == "apple" || $category == "bananas" || $category == "oranges" ) {

有一种更好的方法编写具有相似结果的代码。

if (in_array($category, array("apple", "bananas", "oranges"))) {
相关问题