sql >> Database >  >> RDS >> Mysql

Hoe invoer van dynamisch gemaakte tekstbox op php te nemen en op te slaan in MySQL met behulp van lus?

U kunt dit op de volgende manier doen.

Telkens wanneer u een tekstvak maakt met JavaScript of jQuery, houdt u de telling van het tekstvak bij, veronderstel dat u standaard twee tekstvakken in de HTML hebt, dus sla die telling op in het verborgen veld zoals u dat deed:

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

Probeer dit dan, u leest de waarde verkeerd:

In plaats van $var[z]=$_POST['textbox'][$z]; gebruik $var[z]=$_POST['textbox'.$z]; .

Ik denk dat in plaats van elk tekstvak te bewerken id waarde, verwijder het gewoon uit HTML en check in bij de PHP-code:

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

Een andere manier om beide problemen op te lossen :)

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;

uitgang:

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



  1. MYSQL-query om datumverschil te krijgen

  2. Optionele argumenten in WHERE-clausule

  3. scope_identity vs ident_current

  4. Hoe rijen met HTML-tabel te sorteren die worden aangeroepen vanuit MySQL