sql >> Database teknologi >  >> RDS >> Mysql

Hvordan tager man input fra Dynamically Created Textbox på php og gemmer dem i MySQL ved hjælp af loop?

Du kan gøre dette på følgende måde.

Når du opretter tekstboks ved hjælp af JavaScript eller jQuery, skal du vedligeholde antallet af tekstboksen, antag at du har to tekstbokse som standard på HTML, så gem det tæller i det skjulte felt, som du gjorde det:

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

Så prøv dette, du læser værdien på en forkert måde:

I stedet for at bruge $var[z]=$_POST['textbox'][$z]; brug $var[z]=$_POST['textbox'.$z]; .

Jeg tænker i stedet for at redigere hver tekstboks id værdi, skal du bare fjerne det fra HTML og tjekke ind i PHP-koden:

<?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); } } ?>

En anden måde, at løse begge dine problemer :)

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;
 

output:

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



  1. PHP MySQL:Gemmer PDF til database

  2. MySQL Grupper efter specifikt 24 timers interval

  3. Returner månedens start i SQLite

  4. Mysql join giver duplikerede rækker