0

データベースからの情報を使用してドロップダウンメニューを作成しています。ドロップダウンでさまざまなブランドを取得する必要があります。ブランドを選択して検索を送信すると、そのブランドに関する情報が表示されます。データベースから正しいブランドを取得しますが、送信後は最後のブランドのみが表示されます。誰かが私を助けることができます...これが私のドロップダウンメニューと検索(送信)コードです:

<div class="bandwielkolom">
    <form action="index.php?lang=nl&p=<?php echo $_GET['p']; ?>#keuze" method="post">
        <table class="bandentabel">
        <tr>
            <th colspan="2">Op merk zoeken<a name="band"></a></th>
        </tr>
        <tr>
            <td>Merk:</td>
            <td>
                <select name="band_merk">
                <option value="0">- Merk -</option>
<?php
    $wielen = $wielclass->getMerkenWielen($website);
    foreach($wielen as $wiel)
    {
        echo "\t\t\t\t\t\t\t\t\t\t\t<option value=\"".$wiel->merk_code."\"";
        if(isset($_GET['search']) && $_GET['search'] == "band" && isset($_GET['wiel']) && $_GET['wiel'] == $wiel->merk_code || isset($_POST['band_submit']) && $_POST['band_merk'] == $wiel->merk_code) { echo " selected=\"selected\""; }
        echo ">".$wiel->merk_naam."</option>\n";
    }
?>
                </select>
            </td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" name="band_submit" value="Zoek"/></td>
        </tr>
        </table>
    </form>
</div>  

これは私のクラスです:

クラス:

<?php
  class wielen extends connect {
    private $wielenlijst;
    public function getMerkenWielen($database) {
        $sql = "SELECT * FROM ".$database."_wielen ORDER BY merk_nummer";
        try {
            $stmt = $this->db->prepare($sql);
            $stmt->execute();
            $this->wielenlijst = $stmt->fetchAll(PDO::FETCH_OBJ);
            $stmt->closeCursor();
            return $this->wielenlijst;
        }
        catch (Exception $e) {
            die ($e->getMessage());
        }
    }
    public function __construct($dbo) {
        parent::__construct($dbo);
    }
  }
?>

これは、送信後の最後のブランドのみを表示します。

<?php
  if(isset($_POST['band_submit']))
    echo $wiel->merk_naam;
?>

私はそれを機能させることができないので、誰かがこれを手伝ってくれますか?

多分それを新たに見ることは助けになるでしょう

助けのためのthnx

アップデート:

私は今このコードの平和を手に入れました、そして私は何が起こっているのか、そして私が何を望んでいるのかを説明します:

<div class="bandwielkolom">
                        <form action="index.php?lang=nl&p=<?php echo $_GET['p']; ?>#keuze" method="post">
                            <table class="bandentabel">
                                <tr>
                                    <th colspan="2">Op merk zoeken<a name="band"></a></th>
                                </tr>
                                <tr>
                                    <td>Merk:</td>
                                    <td>
                                        <select name="band_merk">
                                            <option value="0">- Merk -</option>
<?php
    $wielen = $wielclass->getMerkenWielen($website);
    $get_wiel = isset($_GET['wiel']) ? $_GET['wiel'] : '';
    $post_wiel = isset($_POST['band_merk']) ? $_POST['band_merk'] : '';
    foreach($wielen as $wiel) {
      if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $selected = $post_wiel['wiel'] === $wiel->merk_code ? ' selected="selected"' : '' ;
      }
      else {
        $selected = $get_wiel['wiel'] === $wiel->merk_code ? ' selected="selected"' : '' ;
      }
      echo '\t\t\t\t\t\t\t\t\t\t\t<option value="' . $wiel->merk_code . '"' . $selected . '>' . $wiel->merk_naam . '</option>';
    }
?>
                                        </select>
                                    </td>
                                </tr>
                                <tr>
                                    <td>&nbsp;</td>
                                    <td><input type="submit" name="band_submit" value="Zoek"/></td>
                                </tr>
                            </table>
                        </form>
                    </div>
                                                            <?php
if(isset($_POST['band_submit']) && $_POST['band_merk'] == $wiel->merk_code)
    echo $wiel->merk_naam;
?>

歳差運動コード:

if(isset($_POST['band_submit']) && $_POST['band_merk'] == $wiel->merk_code)
    echo $wiel->merk_naam;

データベースから4つのオプションを含む選択ボックスを取得したので、正しく機能しています。これらのオプションには、画像やテキストなどのデータが含まれています。私が1つを選択して送信を押すと、彼は選択されたオプションの情報を表示する必要があり、それは選択されたままになります。

現在起こっていることは、オプションを選択して送信を押しても何も起こらないということです...ボタンは機能していますが、選択したオプションの出力が得られず、選択されたままになりません。

何か間違ったことをしているが、私は何を理解できない

どんな助けでも大歓迎です:)

4

1 に答える 1

1

それらをすべてリストするには、 for ループを再度使用する必要があります。

foreach($wielen as $wiel)
{
    echo $wiel->merk_naam;
}
于 2012-07-09T11:18:39.177 に答える