我有一个包含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();
}
?>
这是到目前为止的工作代码,如何使用按钮将数组的输出更改为选择器下拉列表?甚至滚动框列表都可以吗?
答案 0 :(得分: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">';
如果您希望能够提交此表单并获取值,则必须使用带有正确选项的表单标记将其包围。
答案 1 :(得分:0)
您可以按列名访问数组中的元素,例如$row['list_name']
类似的东西:
<select name='x'>
<?php
foreach($result as $row) {
echo "<option value='".$row['list_name']."'>".$row['list_name']."</option>";
}
?>
</select>