1

MySQLデータベースから入力されたドロップダウンメニューを使用してフォームを作成しようとしています。ドロップダウンメニューの作成に使用するコードを関数に配置し、完全なフォーム自体も関数に配置しようとしています。

問題は、何らかの理由で、ドロップダウンメニューがフォームの下部ではなく上部に表示されることです。生成されているHTMLを見ると、何らかの理由で関数がタグ内でまったくレンダリングされていないように見えます。

echo "<form method='post'>
<table>
    <tr>
        <td><label for='artikelnr'>Artikelnummer:</label></td>
        <td><input type='text' name='artikelnr' /></td>
    </tr>
    <tr>
        <td><label for='omschrijving'>Omschrijving:</label></td>
        <td><input type='text' name='omschrijving' /></td>
    </tr>
    <tr>
        <td><label for='verkoopprijs'>Verkoopprijs:</label></td>
        <td><input type='text' name='verkoopprijs' /></td>
    </tr>
    ".categorie()."
    <tr>
        <td><input type='submit' name='submit' value='Toevoegen' /></td>
    </tr>
</table>
</form>";

何らかの理由で、関数category()は実際にはフォームの前に生成されているようです。のように、エコーの前に。HTMLでは、最初にHTMLでドロップダウンメニューを生成し、次に関数categorie()を除くエコーに含まれるすべてのHTMLを生成します。関数を正しい場所で生成するにはどうすればよいですか?

4

2 に答える 2

0

フォームと機能を分離してください。ドロップダウン メニューで関数を呼び出して、次のようにドロップダウンを設定します。

<?php
function fetch_data(){
    //code to fetch data from the database
    //return the result in a array as (say) $fetch_data
}

そして形で

<select>
<?php foreach($fetch_data as $show_data){ ?>
<option value="<?php echo $show_data['data_id']; ?>"><?php echo $show_data['data']; ?></option>
<?php } ?>
于 2012-10-08T13:11:29.857 に答える
0

で出されたデータに正しいorタグcategory()が含まれていない可能性があります<tr><td>

于 2012-10-08T13:07:12.910 に答える