如何将 <select> 中的选项放入变量以填充 MySQL 中的 table

How to put an option from <select> into a variable to populate a table in MySQL

我是一名意大利高中生,今天我的教授给我布置了一个简单的作业:

我必须创建一个 PHP 页面,其基本形式允许我将新的 "student" 引入 MySQL、[=25= 中的 table ]、"surname" 和 "class"。

那是 PHP 页面:

<html>
<head>
<title> School </title>
</head>
<body>
<?php
$name="";
$surname="";
$conn=mysqli_connect("127.0.0.1","root","");
if(!$conn){ echo 'No connection.'; die;}
if(!mysqli_select_db($conn,"School")) { echo 'Err'; die;}
$result=mysqli_query($conn,"select * from classes");

if(!isset($_REQUEST["submit"])){

    echo '<form action="" method="post">
    <input type="text" name="name" size="26"> Name <br><br>
    <input type="text" name="surname" size="26"> Surname <br><br>
    <input type="submit" name="submit" value="Submit">';
    if(mysqli_num_rows($result)!=0){
        echo '<select name="combobox" id="combobox">
        <option value="" selected="selected"> Classes list </option>';
        while($combobox=mysqli_fetch_assoc($result)){
            $classes=$combobox["classes"];
            echo '<option value="'.$combobox["classes"].'">'.$combobox["classes"].'</option>';
        }
        echo '</select><br><br>';
    }
    echo '</form>';

}
else{
    $name=$_REQUEST["name"];
    $surname=$_REQUEST["surname"];
    //$query='insert into Students(name,surname,classes) values("'.$name.'","'.$surname.'","'.$classes.'");';
    //if(!mysqli_query($conn,$query)) { echo 'Err'; die; }
    echo 'Success! <br> Name: '.$name.' <br> Surname: '.$surname.'<br> Class: '.$classes.'<br>';
}
?>
</body>
</html>

我已经创建了包含我需要的所有 table 的数据库。现在,问题是,如何将我从 <select> 中选择的 "option" 放入一个变量中,以便我可以将它用于 insert into?我找到的所有内容都只是 "filling a combobox from mysql".

总是给你的表单元素一个 name,这就是它被发送到后端的方式。使用 <select>,所选元素的值将通过您给它的名称发送到您的代码。执行此操作后,您可以在代码末尾为其添加一个变量。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyDB (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?> 

这是你应该遵循的。

要获取 select 的值,请为其命名,然后使用 $_GET['name']$_POST['name'] 获取其名称后,如果您选择 method="post",您将获得 select编辑选项值。

html:

 <form method="get" action="/script.php">
 <select name="name"><option>1</option></select>
 <input type="submit" value="send">
 </form>

php:

 $value=$_GET['name']; 
 echo $value;