由于我已经在下拉列表中有数据,我如何在数据库中反映它?数据库应显示确切的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>
答案 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; ');