sql >> Databáze >  >> RDS >> Mysql

Jak vzít vstupy dynamicky vytvořeného textového pole na php a uložit je do MySQL pomocí smyčky?

Můžete to udělat následujícím způsobem.

Kdykoli vytvoříte textové pole pomocí JavaScriptu nebo jQuery, zachováte počet textových polí, předpokládejme, že máte ve výchozím nastavení v HTML dvě textová pole, takže uložte tento počet do skrytého pole, jako jste to udělali:

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

Pak zkuste toto, čtete hodnotu špatně:

Místo použití $var[z]=$_POST['textbox'][$z]; použijte $var[z]=$_POST['textbox'.$z]; .

Myslím, že místo úpravy každého textového pole id hodnotu, stačí ji odstranit z HTML a zkontrolovat kód 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);
            }
     }
    ?>

Další způsob, jak vyřešit oba vaše problémy :)

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;

výstup:

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



  1. Jak spojit tři stoly podle laravelova výmluvného modelu

  2. Limit výkonu Mysql

  3. Dotaz k nalezení a odstranění duplicitních dat z tabulky MYSql

  4. Používáte Excel pro svou databázi? Zde je důvod, proč byste měli upgradovat na přístup