Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wziąć dane wejściowe z dynamicznie tworzonego pola tekstowego na php i przechowywać je w MySQL za pomocą pętli?

Możesz to zrobić w następujący sposób.

Za każdym razem, gdy tworzysz pole tekstowe za pomocą JavaScript lub jQuery, utrzymuj licznik pola tekstowego, załóżmy, że domyślnie masz dwa pola tekstowe w HTML, więc przechowuj je w ukrytym polu, tak jak to zrobiłeś:

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

Spróbuj tego, odczytujesz wartość w niewłaściwy sposób:

Zamiast używać $var[z]=$_POST['textbox'][$z]; użyj $var[z]=$_POST['textbox'.$z]; .

Myślę, że zamiast edytować każde pole tekstowe id wartość, po prostu usuń ją z HTML i sprawdź w kodzie 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);
            }
     }
    ?>

Inny sposób na rozwiązanie obu problemów :)

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;

wyjście:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę zmienić rozmiar kolumny w tabeli MySQL?

  2. Duże rozmiary pól znaków w SAS

  3. Konwertuj DateTime dla MySQL za pomocą C#

  4. Usuń z jednego stołu z dołącz

  5. Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/tmp/mysql.sock' (2)