Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment prendre les entrées d'une zone de texte créée dynamiquement sur php et les stocker dans MySQL à l'aide d'une boucle?

Vous pouvez le faire de la manière suivante.

Chaque fois que vous créez une zone de texte à l'aide de JavaScript ou de jQuery, conservez le nombre de zones de texte, supposons que vous ayez deux zones de texte par défaut sur le HTML, stockez donc ce nombre dans le champ masqué comme vous l'avez fait :

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

Alors essayez ceci, vous lisez la valeur dans le mauvais sens :

Au lieu d'utiliser $var[z]=$_POST['textbox'][$z]; utilisez $var[z]=$_POST['textbox'.$z]; .

Je pense qu'au lieu de modifier chaque zone de texte id valeur, supprimez-la simplement du HTML et enregistrez-la dans le code 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);
            }
     }
    ?>

Une autre façon de résoudre vos deux problèmes :)

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;

sortie :

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