0

SELECT title FROM books WHERE ownBy = [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>

更新: 隠しフィールドを閉じていなかったため、表示されないエラーが修正されたようです。ドロップダウン リストに値が入力されていませんが、サーバー ログにエラーが記録されていません。

誰かがドロップダウンボックスの部分を機能させるのを手伝ってくれるなら、それは今のところ素晴らしいことです.

4

2 に答える 2

2

あなたは書くべきです

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

また、オプションで表示される名前を指定する必要があります。

echo '<option value="'.htmlspecialchars($row['title']).'">'.htmlspecialchars($row['title']).'</option>';
于 2013-03-28T10:29:49.137 に答える
0

クエリの '$user_id' は null です。最初に「$user_id」の値を注意深く確認してください。その後、それは動作します。

于 2013-03-28T10:37:09.017 に答える