[英]display values on dropdown from database and store the selected value back to database in a different table
我正在做一個項目,我想從數據庫中顯示一個下拉列表,我可以這樣做,但是在做出選擇后我卡在了該部分上,並且我沒有在數據庫中獲得選定的值。
<form action="" method="post">
<div class="close">+</div>
<h2> Select preferred advisor from dropdown</h2>
<?php
$query="SELECT advisor_name FROM advisor_names";
$queryenter code here_run=mysqli_query($con,$query);
if(mysqli_num_rows($query_run)>0)
{
echo '<select name="Advisors">';
while($row=mysqli_fetch_assoc($query_run))
{
$selected_advisor=$rows['advisor_name'];
echo "<option value>".$row["advisor_name"]."</option>";
}
echo '</select>';
}
?>
<br><br>
<a href=""> <input name="mod_btn" type="submit" class="button" value="Submit"></a>
<!-- <a href=""> <input name="mod_btn" type="submit" class="button"></a> -->
<!--<input type="submit">-->
<?php
if(isset($_POST['mod_btn']))
{
$query="INSERT INTO `appointment`(`number`, `advisor`) VALUES (NULL,'$selected_advisor');";
$query_run=mysqli_query($con,$query);
if($query_run)
{
echo '<script type="text/javascript"> alert("Query run sucessful")</script>';
}
}
查詢執行但值未顯示在數據庫中。
您不會為每個選項填充一個值,並且通過在選項標簽中指定value
,您將值設為空白:
echo "<option value>".$row["advisor_name"]."</option>";
你應該做的是:
echo "<option value=".$row["advisor_name"].">".$row["advisor_name"]."</option>";
此外,除非您已經修改了變量,否則您不會在查詢中使用$selected_insert
。 相反,您可能應該使用$_POST['Advisors']
。
然后,最重要的是,你們所有人都應該養成為所有查詢使用准備好的語句的習慣。 如果沒有,那么您將對 SQL Injection敞開心扉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.