簡體   English   中英

在數據庫的下拉列表中顯示值並將所選值存儲回數據庫中的不同表中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM