我需要使用诸如 SELECT title FROM books WHEREownedBy = [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>
更新:我没有关闭隐藏字段,所以这似乎修复了它没有出现的错误。下拉列表未填充,但我在服务器日志中没有收到任何错误。
如果有人可以帮助我让下拉框部分工作,那现在很好,一旦这部分工作,我将自己解决其余部分。