0

我有一个包含 2 列的表,我希望仅将其中一列输出到下拉选择器列表中,底部有一个按钮。我正在使用 PDO 连接到数据库,此代码正在运行,但它只为我提供了每行的所有详细信息的数组。

<?php
/* Execute a prepared statement by binding PHP variables */
$username = "mydb";
$password = "mydb"; 
$member = $_SESSION['SESS_MEMBER_ID'];
try {
    $dbh = new PDO('mysql:host=;dbname=mydb', $username, $password);
    $sth = $dbh->prepare('SELECT list_name FROM lists WHERE member_id = :member_id ');
    $sth->execute(array('member_id' => $member));
    $result = $sth->fetchAll();

  if ( count($result) ) { 
    foreach($result as $row) {
      print_r($row);
    }   
  } else {
    echo "No rows returned.";
  }
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}
?>

这是到目前为止的工作代码,如何将输出从数组更改为带有按钮的选择器下拉列表?即使是滚动框列表也可以吗?

4

2 回答 2

1

您只是想在下拉框中显示查询结果。这只是 html 取决于一些变量。而不是显示这样的结果:

foreach($result as $row) {
   print_r($row);
}

你应该用 PHP 显示一个 HTML 标签,如下所示:

print '<select id="your_list">';
    foreach ($result as $row) {
    print '<option value="'.$row['list_name'].'">'.$row['list_name'].'</option>';
    }
print '</select>';
print '<input type="submit" value="Submit">';

如果您希望能够提交此表单并获取值,则必须用带有正确选项的表单标签将其包围。

于 2013-04-15T21:11:24.553 回答
0

您可以通过列名访问数组中的元素,例如$row['list_name']

就像是:

<select name='x'>

<?php   
    foreach($result as $row) {
        echo "<option value='".$row['list_name']."'>".$row['list_name']."</option>";
    }
?>

</select>
于 2013-04-15T21:00:46.563 回答