Сохранять Данные Инпутс Динамикос в Базе данных

Я должен сохранять информацию в базе данных двух полей. inputs динамические верьте себе в то, что те, которые пользователь выбирает проблемы, он состоит в том, что он не вводит их мне как дебет, того, чтобы быть он вводит того следующего способа:

если ввел campo1 = "Хуан" campo2 = "24"; в базе данных они сохраняют так

id     nombre    edad 
1      juan       juan
2       24        24

когда они должны быть введенными так

id     nombre    edad 
1      juan        24

Код HTML:

<div id="elementos">
    <form id="datos" action="inserta.php" method="post">
        <div id="inputs">
            Nombre:<input id="dato1" type="text" name="dato1" />
            Edad:<input id="edad1" type="text" name="edad1" />

        </div>
        <input id="agrega" type="button" value="+" />
        <input id="enviar" type="button" value="Enviar" />
    </form>
</div>

Код JQuery:

<script type="text/javascript">
$(document).ready(function(){
    var cuentaInputs = $('#elementos').children().length;
    $('#agrega').click(function(){
        cuentaInputs++;
        $('<br class="fila'+cuentaInputs+'"/><label class="fila'+cuentaInputs+'" for="dato'+cuentaInputs+'">Nombre.'+cuentaInputs+':</label><input type="text" name="dato'+cuentaInputs+'" class="fila'+cuentaInputs+'" id="dato'+cuentaInputs+'"/><label class="fila'+cuentaInputs+'" for="edad'+cuentaInputs+'">Edad.'+cuentaInputs+':</label><input type="text" name="edad'+cuentaInputs+'" class="fila'+cuentaInputs+'" id="edad'+cuentaInputs+'"/>').appendTo('#inputs');

     });
    $('#enviar').click(function(){
        $('#datos').submit();
    });
});
</script>

Код PHP:

<?php 

$conexion = mysql_connect("localhost","root","");

mysql_select_db("ejemplo",$conexion) or die ("Error");

foreach ($_POST as $key => $values) {

    $query="INSERT INTO prueba(nombre, edad) VALUES ('{$values}','{$values}')";
    $res=mysql_query($query, $conexion);
}


if ($res) {
    header("Location: ejemplo.php");

}else{
    echo  "Error";
}
3
задан 14.06.2016, 20:38
2 ответа

Основываясь в print_r($_POST) что ты скопировал нас, я предлагаю это решение используя индексы array и изменяя структуру поколения твоего формуляра html, чтобы производить arrays мультипространственные:

jQuery:

$('#agrega').click(function(){
    cuentaInputs++;
    $('<br class="fila'+cuentaInputs+'"/><label class="fila'+cuentaInputs+'" for="usuario['+cuentaInputs+'][dato]">Nombre.'+cuentaInputs+':</label><input type="text" name="usuario['+cuentaInputs+'][dato]" class="fila'+cuentaInputs+'" id="dato'+cuentaInputs+'"/><label class="fila'+cuentaInputs+'" for="usuario['+cuentaInputs+'][edad]">Edad.'+cuentaInputs+':</label><input type="text" name="usuario['+cuentaInputs+'][edad]" class="fila'+cuentaInputs+'" id="edad'+cuentaInputs+'"/>').appendTo('#inputs');
 });

HTML:

Nombre:<input id="dato1" type="text" name="usuario[1][dato]" />
        Edad:<input id="edad1" type="text" name="usuario[1][edad]" />

PHP:

foreach ($_POST['usuario'] as $key => $values) {
    $query = "INSERT INTO prueba(nombre, edad) VALUES ('" .  $values['dato'] . "','" $values['edad'] . "')";
    $res=mysql_query($query, $conexion);
}

Я изменил немного использование кавычек, одинокое, чтобы делать более читабельным код, но ты можешь поддерживать стиль, который ты используешь в настоящее время.

1
ответ дан 24.11.2019, 14:09
  • 1
    Спасибо за помощь я протестировал код и я бросаю эту ошибку Parse ошибка: syntax ошибка, unexpected и #39; $value и # 39; (T_VARIABLE) –  Antonio 14.06.2016, 19:02
  • 2
    Ты можешь делать один я начинаю одной из них l и # 237; neas $query? –  Shaz 14.06.2016, 19:04
  • 3
    Только Эта Беря стоимость INSERT INTO попытайся (имя, возраст) ОЦЕНИ (и #39; 12 и # 39; и #39; 12 и # 39;) –  Antonio 14.06.2016, 19:10
  • 4
    Perd и # 243; n, я confund и # 237; уже я это исправляю. –  Shaz 14.06.2016, 19:14
  • 5
    Я заношу в список, изменил весь ответ. –  Shaz 14.06.2016, 19:24

Когда я увидел этот пример, я был я начинаю только для поля (единственный неудар в лунку), но я нуждаюсь в этом, чтобы вводить более одного неудара в лунку С этим кодом функционирует для поля HTML:

<div id="elementos">
    <form id="datos" action="inserta.php" method="post">
        <div id="inputs">
            Nombre:<input id="dato1" type="text" name="dato1" />


        </div>
        <input id="agrega" type="button" value="+" />
        <input id="enviar" type="button" value="Enviar" />
    </form>
</div>

JQUERY:

<script type="text/javascript">
$(document).ready(function(){
    var cuentaInputs = $('#elementos').children().length;
    $('#agrega').click(function(){
        cuentaInputs++;
        $('<br class="fila'+cuentaInputs+'"/><label class="fila'+cuentaInputs+'" for="dato'+cuentaInputs+'">Nombre.'+cuentaInputs+':</label><input type="text" name="dato'+cuentaInputs+'" class="fila'+cuentaInputs+'" id="dato'+cuentaInputs+'"/>').appendTo('#inputs');

     });
 $('#enviar').click(function(){
            $('#datos').submit();
        });
    });

</script>

PHP:

foreach ($_POST as $key => $value) {
    $query="INSERT INTO prueba(nombre)VALUES('{$value}')";
    $res=mysql_query($query, $conexion);
}
0
ответ дан 24.11.2019, 14:09