Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Input dinamico guardar con array

Estas en el tema de Input dinamico guardar con array en el foro de PHP en Foros del Web. Buen día necesito de la colaboración de ustedes con la finalidad de resolver como guardo el array en la bd, estoy haciendo un sistema que ...
  #1 (permalink)  
Antiguo 01/06/2016, 14:02
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Input dinamico guardar con array

Buen día necesito de la colaboración de ustedes con la finalidad de resolver como guardo el array en la bd, estoy haciendo un sistema que guarda el nombre y el apellido a través de un boton que va agregando los campos dependiendo de la cantidad de nombres con sus respectivos apellidos, cuando ya no tengamos más nombres pues podemos guardar el formulario, va al php pero hay me quede ya que solo he podido pasar el nombre a través de un foreach pero a tratar de colocar el apellido me crea combinaciones en la bd.

1.- la base de datos es simple un id - nombre - apellido

2.- este es el html de formulario que recibe la data


<!DOCTYPE html>
<html lang="es">
<head>
<title>Dinamicos</title>
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
<link href="http://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/validationEngine.jquery.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/jquery.validationEngine.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/languages/jquery.validationEngine-es.js"></script>
<style>
.top-buffer {
margin-top:20px;
}
</style>


</head>


<head>
<title>Dinamicos</title>
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
<link href="http://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/validationEngine.jquery.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/jquery.validationEngine.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/languages/jquery.validationEngine-es.js"></script>
<style>
.top-buffer {
margin-top:20px;
}
</style>
</head>


<body>
<div id="container ">
<div class="row-fluid top-buffer">
<div class="col-lg-6 col-lg-offset-3 text-center">
<form id="miform" method="post" name="miform" action="guardar.php" >
<table id="tblprod" class="table table-hover table-bordered">
<thead>
<tr>
<th>Registros</th>
<th>Nombre</th>

</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<div class="form-group col-lg-4">
<input class="form-control validate[required]"name="nombre[]" />

</div>

<div class="form-group col-lg-4">
<input class="form-control validate[required]"name="apellido[]" />

</div>

</td>
</tr>

</tbody>
</table>
<button id="btnadd" class="btn btn-primary">Agregar Nuevo</button>
<button id="btnsubmit" type="submit" class="btn btn-success">Guardar</button>

</form>
</div>
</div>
</div>

<script type="text/javascript">
$(function() {
var count = 1;
jQuery("#miform").validationEngine({promptPosition : "centerRight:0,-5"});

$(document).on("click","#btnadd",function( event ) {
count++;
$('#tblprod tr:last').after('<tr><td>'+count+'</td><td><div class="form-group col-lg-4"><input class="form-control validate[required]" name="nombre[]" /></div><div class="form-group col-lg-4"><input class="form-control validate[required]" name="apellido[]" /></div></td></tr>' );
event.preventDefault();

});

});
</script>

</body>
</html>

3.- este es el php donde tengo el problema

<?php

require("dbconn.php");

foreach ( $_POST['nombre'] as $key=>$value ) {
$values = mysql_real_escape_string($value);
$query = mysql_query("INSERT INTO pr (pro) VALUES ('$values')", $connection );

mysql_close();

}

?>

Si por favor me pueden ayudar se los agradeceria
YC
__________________
ymanol caires z
  #2 (permalink)  
Antiguo 01/06/2016, 14:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Input dinamico guardar con array

Cita:
pero a tratar de colocar el apellido me crea combinaciones en la bd.
Creo que sería buen ver exactamente cómo haces eso, porque en el código no muestras esa parte.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/06/2016, 14:52
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Input dinamico guardar con array

Al insertar en un nuevo foreach en apellido me crea combinaciones, lo quite ya que lo único que inserta ahora con el código es el nombre, el array es nombre y apellido estoy revisando y tengo dos name: name="nombre[]" y name="apelllido[]" pareciera que este es el error pero no logro darle la vuelta amigo pateketrueke
__________________
ymanol caires z
  #4 (permalink)  
Antiguo 01/06/2016, 15:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Input dinamico guardar con array

Pues creo que deberías hacer esto:
Código PHP:
Ver original
  1. foreach (array_keys($_POST['nombre']) as $key) {
  2.   $nombre = $_POST['nombre'][$key];
  3.   $apellido = $_POST['apellido'][$key];
  4.  
  5.   echo "$nombre : $apellido";
  6. }

De esa forma puedes reusar la misma clave para obtener los mismo elementos de ambos arrays.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 01/06/2016, 18:40
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Input dinamico guardar con array

Muchas gracias pateketrueke muy sencillo el código no lo sabía amigo, muchas gracias lo probé con una 3ra variables y funciono a la perfección aqui dejo el php que incluye el array para la insert a la bd

1.- php

<?php

require("dbconn.php");

foreach (array_keys($_POST['nombre']) as $key) {

$nombre = $_POST['nombre'][$key];

$apellido = $_POST['apellido'][$key];

$cedula = $_POST['cedula'][$key];

$query = mysql_query("INSERT INTO pr (nombre,apellido,cedula) VALUES ('$nombre','$apellido','$cedula')", $connection );

}

mysql_close();

?>
Gracias amigo
YC
__________________
ymanol caires z

Etiquetas: dinamico, formulario, html, input, mysql, registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:02.