0

ここに私の問題があります。データベース名「countries」にテーブルがあります。「countries」と「id」の 2 つの列があります。このテーブルからデータを取得して、登録フォームのドロップ ボックスに入れようとしています。これが私が持っているものです(便宜上合理化されています):

$dbase_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

<form method="post" action="register.php" name="registerform">   
    <select id="country_list">
        <script type="text/javascript">
        var select = document.getElementById("country_list"); 
        <?php

            while($row = $dbase_connection->query("SELECT * FROM countries")->fetch_array()){
                ?>
                    var option = document.createElement("option");
                    option.textContent = <?php $row['country_name']; ?>;
                    option.value = <?php $row['id']; ?>;
                    select.appendChild(option);
                <?php
            }
        ?>
        </script>
    </select>
</form>

エラーは返されません。スクリプトは、ブラウザにドロップ ボックスを読み込もうとして、ほとんど途中で中断します。そのため、空のドロップ ボックスが残り、その前に表示されるべき要素 (送信ボタンなど) が読み込まれません。

私のアマチュアな観察では、かなり乱雑に見え、私はこれに数時間悩まされてきました. このウェブサイトでの最初の質問です。他に追加する必要がある情報を教えてください。

4

4 に答える 4

0

なんでこんなことしないの

<form method="post" action="register.php" name="registerform">   
<select id="country_list">
    <?php

        while($row = $dbase_connection->query("SELECT * FROM countries")->fetch_array()){
            ?>
              <option value="<?php echo $row['id']; ?>"><?php echo $row['country_name']; ?></option>
            <?php
        }
    ?>
</select>
</form>

それはうまくいくはずです

于 2013-07-13T09:39:19.813 に答える