我需要從我的postgreSQL數據庫中使用諸如SELECT title FROM books WHERE ownedBy = [users facebook ID]的查詢來填充書名的下拉列表,然後使用用戶的選擇顯示該書的其他信息。該頁面是一個Facebook應用程序,這是我如何獲得Facebook的ID。從postgresql數據庫填充php下拉框
這是迄今爲止的代碼部分,主要是從我發現的類似問題的各種回答中創建的。
<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肯定會返回傳回的user_id的行嗎? – d1ll1nger 2013-03-28 11:00:38
@DaleBetts當我直接在數據庫上運行'SELECT title FROM books WHERE ownedby = [my facebook id];'時,它確實會返回值,但我不知道如何測試PHP是否成功檢索它們。編輯:它目前在下拉框中顯示正確的行數,但沒有文字) – TheMarron 2013-03-28 11:47:11