如何将数据从下拉列表插入数据库

时间:2014-01-25 09:46:36

标签: php mysql sql drop-down-menu

由于我已经在下拉列表中有数据,我如何在数据库中反映它?数据库应显示确切的admin no,student,gpa以及下拉列表中的一个选项。我是否需要使用if else语句?

<form name="IT" action="getIT_now.php" method="post">     
        <?php
            $result = mysqli_query($con,"SELECT admin_no, name, GPA, gender FROM student_details WHERE jobscope1= 'IT' ORDER BY `GPA` DESC; ");

                $result2 = mysqli_query($con, "SELECT job_title FROM job_details WHERE jobscope='IT';");
                $row2 = mysqli_fetch_assoc($result2);

                echo "<table border='1' >
                <tr>
                <th>Admin Number</th>
                <th>Student Name</th>
                <th>GPA</th>
                <th>Gender</th>
                <th>Company List</th>
                </tr>";

                 /*options sections start*/
                $options= '';
                while ($row2 = mysqli_fetch_array($result2))
                {
                    $options .='<option value="'. $row2['job_title'] .'"> '. $row2['job_title'] .'</option>';
                }
                /*options sections end*/

                while($row = mysqli_fetch_assoc($result))
                  { 




                      echo "<tr>";
                      echo "<td bgColor=white>" . $row['admin_no'] . "</td>";
                      echo "<td bgColor=white>" . $row['name'] . "</td>";
                      echo "<td bgColor=white>" . $row['GPA'] . "</td>";
                      echo "<td bgColor=white>" . $row['gender'] . "</td>"; 
                      echo "<td><select name='ddl' onclick='if(this.value != '') { myform.submit(); }'>".$options."</select></td>";
                  }
                      echo "</tr>";              

                      echo "</table>";



    ?>
    <input type="submit" name="submit" id="submit" value="Submit" />

    </form>

3 个答案:

答案 0 :(得分:2)

将表单操作更改为当前文件的名称。然后在文件的顶部打开以下IF语句:

if ($_SERVER['REQUEST_METHOD']=='POST'){

在这个IF语句中,您希望为下拉列表的值分配一个变量(您需要将选项包装在<select>标记中,并且开始标记需要一个name属性)并将该变量写入数据库使用INSERT查询。您可以使用$_POST执行此操作,例如

$variable = $_POST['name_of_select'];

然后执行INSERT:

$query = "INSERT INTO table (field) VALUES ($variable)";

(这是非常概括的,您应该将预备语句作为优先级,因为您永远不应该信任任何用户输入,并且预准备语句会大大提高安全性。)

然后检查INSERT是否成功等等。然后您可以关闭IF语句并添加ELSE。在里面,您可以放置​​现有代码。

这样做首先检查页面是否已经过POST。如果有,则运行INSERT查询。如果没有,则显示表格。

答案 1 :(得分:0)

例如,我有以下内容:

<form action="phpfile.php" method="POST">
    <select name="color">
      <option value="volvo">Red</option>
      <option value="saab">Blue</option>
    </select>
    <input type="submit" />
</form>

这将被引用为$ _POST ['color']并返回所选

的值

然后您将运行插入查询

$color = $_POST['color'];
$sql_add = "INSERT INTO example (`color`) VALUES ('".$color."')";

采取预防措施以消除您的意见。

答案 2 :(得分:0)

根据我在您的问题中的理解,您是否试图在表格中显示学生的详细信息?

如果要使用$ _POST,请将表单操作更改为当前页面。

    $value_of_select_box = $_POST['SELECT BOX NAME HERE'];
    $result = mysqli_query($con,'SELECT admin_no, name, GPA, gender 
         FROM student_details 
                 WHERE jobscope1= "'.$value_of_select_box.'" ORDER BY GPA DESC; ');