Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como pegar entradas da caixa de texto criada dinamicamente no php e armazená-las no MySQL usando loop?


Você pode fazer isso da seguinte maneira.

Sempre que você cria uma caixa de texto usando JavaScript ou jQuery, para manter a contagem da caixa de texto, suponha que você tenha duas caixas de texto por padrão no HTML, então armazene essa contagem no campo oculto como você fez:
<input type"hidden" id="h" name="h" value="0"/>

Então tente isso, você está lendo o valor de forma errada:

Em vez de usar $var[z]=$_POST['textbox'][$z]; use $var[z]=$_POST['textbox'.$z]; .

Acho que em vez de editar cada caixa de texto id valor, apenas remova-o do HTML e verifique o código 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);
            }
     }
    ?>

Outra maneira, para resolver seus dois problemas :)

teste.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>

teste.php:
print_r($_POST);
exit;

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