sql >> データベース >  >> RDS >> Mysql

動的に作成されたテキストボックスの入力をphpで取得し、ループを使用してMySQLに保存するにはどうすればよいですか?

    これは次の方法で行うことができます。

    JavaScriptまたはjQueryを使用してテキストボックスを作成するときは常に、テキストボックスの数を維持します。HTMLにはデフォルトで2つのテキストボックスがあると想定しているため、その数を、次のように非表示フィールドに保存します。

    <input type"hidden" id="h" name="h" value="0"/>
    

    次に、これを試してください。値を間違った方法で読み取っています:

    $var[z]=$_POST['textbox'][$z];を使用する代わりに $var[z]=$_POST['textbox'.$z];を使用します 。

    各テキストボックスのidを編集する代わりに 値、HTMLから削除し、PHPコードにチェックインするだけです:

        <?php
         include_once('db.php');
    
         $x=$_POST["h"];
         $y=intval($x);
         $z=0;
         while($z<=$y){
                if(isset($_POST['textbox'.$z]) && !empty($_POST['textbox'.$z])){
                         $var[z]=$_POST['textbox'.$z];
                         echo "$var[$z]";
                         $sql="INSERT into the Data values('".$var[z]."');";
                         $query=mysql_query($sql);
                }
         }
        ?>
    

    別の方法では、両方の問題を解決します:)

    test.html:

    <html>
        <title>TEST</title>
        <body>
            <form action="test.php" method="post">
            <input type="text" name="demo[]" value=""/>
            <input type="text" name="demo[]" value=""/>
            <input type="text" name="demo[]" value=""/>
            <input type="text" name="demo[]" value=""/>
            <input type="text" name="demo[]" value=""/>
            <input type="submit">
            </form>
        </body>
    </html>
    

    test.php:

    print_r($_POST);
    exit;
    

    出力:

    Array ( [demo] => Array ( [0] => zxc [1] => zxc [2] => ewe [3] => ecc [4] => zzx ) )
    



    1. SELECT * FROMのショートカットはありますか?

    2. Ms-AccessVBAクラスオブジェクト配列

    3. MySQLの5つ星評価データ型?

    4. MySQLはバックスラッシュを挿入していません