繁体   English   中英

从postgresql数据库填充php下拉框

[英]Populate php dropdown box from postgresql database

我需要使用诸如SELECT title FROM books WHERE ownedBy = [users facebook ID]之类的查询从我的postgreSQL数据库填充书名的下拉列表,然后使用用户的选择来显示该书的其余信息。 该页面是一个Facebook应用程序,这就是我获取Facebook ID的方式。

到目前为止,这是代码的相关部分,主要是根据我发现的类似问题的各种答案创建的。

<form action="updateform.php" method="post">
<select name="booktitle" id="booktitle">
<option>Select book</option>
<?php
$db = pg_connect("host=ec2-54-243-190-226.compute-1.amazonaws.com port=5432 dbname=d6fh4g6l0l6gvb    user=zmqygfamcyvhsb password=1Apld4ivMXSK8JZ_8yL7FwIuuz sslmode=require options='--client_encoding=UTF8'") or   die('Could not connect: ' . pg_last_error());
$sql = pg_query("SELECT title FROM books WHERE ownedby='$user_id'";
while ($row = pg_fetch_assoc($sql)) {
echo '<option value="'.htmlspecialchars($row['title']).'"></option>';}
pg_close($db);
?>
</select>
<input type="hidden" name="userid" id="userid" value="<?php echo htmlspecialchars($user_id); ?>">
//other form elements here
</form>

更新:我没有关闭隐藏字段,所以这似乎修复了它没有出现的错误。 下拉列表没有填充,但我没有在服务器日志中收到任何错误。

如果有人可以帮助我让下拉框部分工作,那将是很好的,现在,一旦这部分工作,我将努力计算剩下的部分。

你应该写

$sql = pg_query($db, "SELECT title FROM books WHERE ownedby='$user_id'");

此外,还必须指定选项中显示的名称。

echo '<option value="'.htmlspecialchars($row['title']).'">'.htmlspecialchars($row['title']).'</option>';

在您的查询中'$ user_id'为空。 首先仔细检查'$ user_id'的值。 然后它会工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM