我尝试解决问题但失败了。我想输入一个数字然后我想通过' 切换'来改变它。像80 = A +。但我不能。请帮助我,非常感谢。
<form method="post" action=" " >
<table width="400" align="center">
<tr><td> Marks <td><input type="text" name="marks"></td></tr>
<tr><td> Click on the Button <td><input type="submit" value="Submit"></td></tr>
</table>
</form>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "zidm";
$conn = mysqli_connect($servername, $username, $password, $dbname);
$marks=$_POST['marks'];
$marks = switch ($marks) {
case ($marks>"50"):
echo "B";
break;
default:
echo "C";
break;
}
$sql="INSERT INTO profile (id, name) VALUES ('', '$marks')";
mysqli_query($conn, $sql);
?>
答案 0 :(得分:3)
这不是交换机的工作方式。
Switch不会返回任何内容。它就像if-else一样,它根据匹配值执行代码块。
此外,你不能对子句进行条件操作(除非切换的表达式是布尔值)。
我认为你应该简单地使用if-elses,或者只使用三元:
$marks = $_POST['marks'];
$marks = ($marks > 50) ? 'B' : 'C';
答案 1 :(得分:-1)
在$marks = $_POST['marks'];
switch (true) {
case ($marks > "50"):
$marks = "B";
break;
default:
$marks = "C";
break;
}
我在开关区内编辑了条件,因为我的原始答案包含错误的答案。您可以在switch
中存储多个条件,并使用if-else-else-else...
替换switch (true)
链条以及要在每个case
中检入的条件。