Php 我想使用开关值插入值。

Php 我想使用开关值插入值。,php,Php,我试图进一步解决这个问题,但失败了。我想输入一个数字,然后我想通过“开关”改变它,比如80=a+。但我不能。请帮帮我,谢谢你 <form method="post" action=" " > <table width="400" align="center"> <tr><td> Marks <td><input type="text" name="marks"&g

我试图进一步解决这个问题,但失败了。我想输入一个数字,然后我想通过“开关”改变它,比如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);

     ?>

标志
点击按钮

$marks=$\u POST['marks']之后执行此操作

switch (true) {
    case ($marks > "50"):
        $marks = "B";
        break;
    default:
        $marks = "C";
        break;
 }

我编辑了开关块内的条件,因为我的原始答案包含错误的答案。您可以在一个
开关中存储多个条件
,用
开关(true)
代替
链,并在每个
案例中检查条件

$marks=$\u POST['marks]之后执行此操作

switch (true) {
    case ($marks > "50"):
        $marks = "B";
        break;
    default:
        $marks = "C";
        break;
 }

我编辑了开关块内的条件,因为我的原始答案包含错误的答案。您可以在一个
开关中存储多个条件
,用
开关(true)
替代
链,并在每个
案例中检查条件

这不是开关的工作方式

开关不返回任何内容。它就像if-else一样,根据匹配值执行代码块

此外,不能对子句进行条件操作(除非切换表达式是布尔表达式)

我认为您应该简单地使用if-elses,或者简单地使用三元:

$marks = $_POST['marks'];

$marks = ($marks > 50) ? 'B' : 'C';

这不是开关的工作原理

开关不返回任何内容。它就像if-else一样,根据匹配值执行代码块

此外,不能对子句进行条件操作(除非切换表达式是布尔表达式)

我认为您应该简单地使用if-elses,或者简单地使用三元:

$marks = $_POST['marks'];

$marks = ($marks > 50) ? 'B' : 'C';

为什么是回声?您不想输出它,而是想将它保存到数据库中,所以创建一个新变量并将字母存储在其中。为什么要回显?您不想输出它,而是想将它保存到数据库中,因此创建一个新变量并将字母存储在其中。