0

配列をループして、単一のページに値 (ユーザーが編集できる) で埋められたフォームを作成する次のコードがあります。配列にはループの数だけフォームがあり、常に変化しています。

<body>
<div id="main">
    <?php
    foreach($articles as $item) { ?>
        <div id='container'>
            <form>
                Title: <input type="text" name="title" size="80" value="<?php echo $item[0]; ?>">
                <br>
                URL: <input type="text" name="url" size="80" value="<?php echo $item[1]; ?>">
                <br>
                End Date: <input type="text" name="endDate" value="<?php echo substr($item[7], 14, strpos($item[7], '@') - strlen($item[7])); ?>">
                <br>
                <?php
                    if (substr($item[8], 0, 2) === 'Su'){
                    } else {
                ?>
                Start Date: <input type="text" name="startDate" value="<?php echo substr($item[8], 7, 9); ?>">
                <?php } ?>
            </form>
        </div>
    <?php } ?>
</div>
</body>

ここで、ユーザーがページの下部にある単一の送信ボタンを使用して、ページ上のすべてのフォームを MySQL データベースに送信するようにします。問題は、それを行う方法がわからないことです。

送信ボタンが次の形式であることは知っています

<input type="submit" value="Submit">

ループ内の各フォームに一意の名前を付ける必要があると想定していますが、そこから、これらの複数のフォームから実際に情報を送受信するための次のステップがどうあるべきかについて途方に暮れています。

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

1

一度に複数のフォームを送信することはできません。<input>s のすべてのセットを 1 つのフォームに入れることの何が問題になっていますか?:

<body>
<div id="main">
    <form>
    <?php
    $inpCnt = 0;
    foreach($articles as $item) {
        $inpCnt++;  ?>
        <div id='container'>
                Title: <input type="text" name="title_<?php echo $inpCnt; ?>" size="80" value="<?php echo $item[0]; ?>">
                <br>
                URL: <input type="text" name="url_<?php echo $inpCnt; ?>" size="80" value="<?php echo $item[1]; ?>">
                <br>
                End Date: <input type="text" name="endDate_<?php echo $inpCnt; ?>" value="<?php echo substr($item[7], 14, strpos($item[7], '@') - strlen($item[7])); ?>">
                <br>
                <?php
                    if (substr($item[8], 0, 2) === 'Su'){
                    } else {
                ?>
                Start Date: <input type="text" name="startDate_<?php echo $inpCnt; ?>" value="<?php echo substr($item[8], 7, 9); ?>">
                <?php } ?>
        </div>
    <?php } ?>
</form>
</div>
</body>

これらの入力もそれぞれ定義できる必要があります。そのため、ループを使用してそれぞれに一意の名前を付けました。

于 2012-12-28T18:19:54.663 に答える