如何选择表格中的选定值?

时间:2015-08-29 12:40:01

标签: php mysql

在我的数据库中,我得到了一个包含2列(bandband_id)的表(title)。在PHP中,我得到了存储所选id(selected_band_id)的变量和一个从表中读取值并显示表单的表单。

表:

+---------+---------+
| band_id | title   |
+---------+---------+
|       1 | Title 1 |
|       2 | Title 2 |
|       3 | Title 3 |
+---------+---------+

PHP:

<?php
  $query = "SELECT `band`.`band_id`, `band`.`title` FROM `band`";
  $result = mysqli_query($mysqli, $query);
  if (!$result) {
    die("Database query failed.");
  }
?>

<?php
  if (isset($_POST['select_band'])) {
    $selected_band_id = $_POST['select_band'];
  }
?>

<form method="post" name="form_band" action="">
  <select name="select_band" onchange="javascript: submit()">
    <?php
      while ($row = mysqli_fetch_assoc($result)) {
        echo "<option value=".$row["band_id"] . ">" .$row["title"] ."</option>";
      }
    ?>
 </select>
</form>

如何在表单中选择(显示)所选变量?它总是跳转到列表中的第一项。我无法用PHP解决这个问题。谢谢你的任何建议!

3 个答案:

答案 0 :(得分:1)

<option value...有一个标记selected。这个你应该设置正确的乐队。因此,如果$ row [“band_id”] == $ selected_band_id,请在此selected中设置<option>

答案 1 :(得分:0)

{{1}}

答案 2 :(得分:0)

这应修复您的PHP代码:

<?php
  $query = "SELECT `band`.`band_id`, `band`.`title` FROM `band`";
  $result = mysqli_query($mysqli, $query);
  if (!$result) {
    die("Database query failed.");
  }
?>

<?php
  if (isset($_POST['select_band'])) {
    $selected_band_id = $_POST['select_band'];
  }
?>

<form method="post" name="form_band" action="">
  <select name="select_band" onchange="javascript: submit()">
    <?php
      while ($row = mysqli_fetch_assoc($result)) {
        $selected = '';
        if($selected_band_id == $row["band_id"]){
              $selected = ' selected';
        }
        echo "<option value=".$row["band_id"] . $selected . ">" .$row["title"] ."</option>";
      }
    ?>
 </select>
</form>

相关问题