1

タイトルが示すように、データベースからデータを生成し、ドロップダウンに表示したいと考えています。コードを作成しましたが、エラーは表示されませんが、ドロップダウンでコードがエコーされます。エコーするだけで機能します。もう 1 つのことは、DISTINCT の結果が表示されないことです。

これが私のコードです:

<html>
<head>
<title>FILTER</title>
</head>
<body>
<?php include 'conn.php';?>

<?php
    $stmt = $con->prepare("SELECT DISTINCT author, book_name, language FROM bk_tst_fltr ");
    $stmt->execute();
    $stmt->bind_result($author,$book_name,$language);
    $stmt->store_result();
    echo "<select name='book'>";
    while($row=$stmt->fetch()){?>
        <p><?php echo  '<option value="$row["author"]">"$row["author"]"</option>'; ?></p>
    <?php }
    echo "</select>";
?>

</body>
</html>

ドロップダウンに表示$row["author"]されます。

誰でもこの問題を解決できますか???

ありがとうございました。

私のデータベース

id  author  book_name language price
1   Kishore One       english  500
2   Kumar   two       english  600
3   Kishore three     german   700
4

2 に答える 2

1

変数の展開には二重引用符を使用するか、文字列を終了して通常どおり連結する必要があります。

また、while($stmt->fetch()){?>

echo '<option value="'.$author.'">"'.$author.'"</option>';

代わりに次のクエリも使用してみてください。

"SELECT author, book_name, language FROM bk_tst_fltr GROUP BY author"
于 2013-07-11T07:34:02.980 に答える
1

質問文そのものが間違っています。

プリペアド ステートメントは、ドロップダウン リストとはまったく関係ありません。

そして、そうである必要はありません。

入力する必要があるのは配列です。後でテンプレートで使用する必要があります。

したがって、質問を 2 つに分けてください。

  1. 一部のデータを選択して配列に入れる方法。
  2. テンプレートで配列を出力する方法。
于 2013-07-11T07:43:41.103 に答える