将数据从数据库返回为下拉列表中的选定值

时间:2017-06-29 06:24:05

标签: php

我正在尝试将数据库中的数据返回到下拉列表中。

这是我没有回复的下拉列表:

<div class="col-md-9 col-sm-9 col-xs-12">
  <select class="form-control select2" id="status" name="status" style="width: 100%;">
    <option value="1">Active</option>
    <option value="0">Inactive</option>
  </select>
</div>

以下语句返回1或0:

SELECT status FROM users WHERE id=1

在这种情况下,值1表示Active0表示Inactive

有人知道如何将返回值作为选定值显示吗?

对于文本框,我使用以下脚本:

<input type="text" class="form-control" id="name" name="name" required="required" value="<?php
  $servername = "localhost";
  $username = "root";
  $password = "";
  $dbname = "db";

  $conn = new mysqli($servername, $username, $password, $dbname);
  if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  } 

  $sql = "SELECT name FROM users WHERE id='". $_GET['id'] ."';
  $result = $conn->query($sql);

  if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
      echo nl2br(htmlspecialchars($row["name"]));
    }
  } else {
  echo "";
  }
  $conn->close();
?>">

修改1:

我在尝试时遇到错误:

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo '<label class="control-label col-md-3 col-sm-3 col-xs-12">Status</label>';
    echo '<div class="col-md-9 col-sm-9 col-xs-12">';
    echo '<select class="form-control select2" id="geactiveerd" name="geactiveerd" style="width: 100%;">';
    echo '<option ($row["status"] == "1") ? "selected="selected"' : '"value="1">Active</option>';
    echo '<option ($row["status"] == "0") ? "selected="selected"' : '"value="0">Inactive</option>';
    echo '</select>';
    echo '</div>';
  }
} else {

1 个答案:

答案 0 :(得分:1)

只有while循环显示答案 -

避免使用HTML和PHP标记组合。

<?php 
while($row = $result->fetch_assoc()) {?>
    <label class="control-label col-md-3 col-sm-3 col-xs-12">Status</label>
    <div class="col-md-9 col-sm-9 col-xs-12">
    <select class="form-control select2" id="geactiveerd" name="geactiveerd" style="width: 100%;">
    <option <?php echo ($row["status"] == "1") ? 'selected="selected"' : '';?> value="1">Active</option>
    <option <?php echo ($row["status"] == "0") ? 'selected="selected"' : '';?> value="0">Inactive</option>
    </select>
    </div>
<?php }?>

希望这会对你有所帮助。