【问题标题】:fetching values from database and displaying selected value in dropdown list not working in php从数据库中获取值并在下拉列表中显示所选值在php中不起作用
【发布时间】:2016-10-22 18:06:52
【问题描述】:

我正在尝试从我的数据库中获取值并在下拉列表中显示所选值以及其他值。我在这里看到了很多关于这个问题的问题,但没有一个有效。请帮忙!

<select name= "indication_name" id= "update_indication_id" class="form-control" required>
  <?php
      $sql = "SELECT id,description From indications";
      $result=mysqli_query($con,$sql);
      while($row=mysqli_fetch_array($result)){
          echo "<option selected='selected'>" . $row['id']." - ". $row['description'];
      }

   ?>
</select>

【问题讨论】:

  • 它不工作如何..?
  • 那么...你在哪里关闭选项标签?这里很明显。
  • 我希望数据库中的值是我选择的值的值

标签: php html mysql dropdown


【解决方案1】:

我可以看到三个主要错误:

  1. 您正在这样选择每个选项。

  2. 选项没有值。

  3. 并且选项标签应该关闭。

所以应该是这样的:

<select name= "indication_name" id= "update_indication_id" class="form-control" required>
  <?php
      $sql = "SELECT id,description From indications";
      $result=mysqli_query($con,$sql);
      while($row=mysqli_fetch_array($result))
          echo "<option value='" . $row['id'] . "'>" . $row['description'] . "</option>";
   ?>
</select>

另一件事,这不是错误,但我个人认为很好,是有一个“未选择”选项:

<select name= "indication_name" id= "update_indication_id" class="form-control" required>
  <option selected="selected" value="">-- Select an option --</option>
  <?php
      $sql = "SELECT id,description From indications";
      $result=mysqli_query($con,$sql);
      while($row=mysqli_fetch_array($result))
          echo "<option value='" . $row['id'] . "'>" . $row['description'] . "</option>";
   ?>
</select>

该选项的值应为 null,因此 required 应用于它。

【讨论】:

  • 但我需要数据库中的值。这是我的主要问题。当我的 id=1 时,我希望它显示 x。所以 x 应该在我的文本框中。如果我有 7 个 ids
【解决方案2】:
<?php 
$server="localhost";
$username="root";
$password="";
$link=@mysql_connect($server, $username, $password) or die ("Cannot connect to mysql server: ".@mysql_error());
$dbname = 'database_name';
@mysql_select_db($dbname, $link) or die ("Cannot connect to database: ".@mysql_error());

$query="SELECT id,description from indications";
$result = @mysql_query ($query);
echo "<select name=indication_name value=' '>";
while($drop=@mysql_fetch_array($result)){
echo "<option value=$drop[id]>$drop[description]</option>";
}
echo "</select>";
?>

【讨论】:

    【解决方案3】:

    尝试使用 switch case 并将值从数据库中放入 switch,然后如果 case 值匹配,则设置selected ='selected'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      • 2014-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多