Foros del Web » Programando para Internet » PHP »

enviar registros de filas clonadas

Estas en el tema de enviar registros de filas clonadas en el foro de PHP en Foros del Web. Saludos y de antemano gracias por cualquier aporte. tengo una tabla en la que he puesto solo una fila la cual contiene los input de ...
  #1 (permalink)  
Antiguo 04/07/2012, 10:31
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
enviar registros de filas clonadas

Saludos y de antemano gracias por cualquier aporte.

tengo una tabla en la que he puesto solo una fila la cual contiene los input de un formulario y fuera de la tabla se encuentra el boton submit, ademas tengo un boton que me agrega una nueva fila que es copia o clon de la primera, en fin el objetivo es agregar varias filas y poder crear varios registros y luego enviar los registros de todas las filas a la ves y estas se guarden en una tabla,
no he logrado conseguirlo espero que alguno me pueda dar una referencia o solucion adjunto el codigo y de antemano gracias.

aqui esta el form:index.php


<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(function(){

tabla = $('#tabla');
tr = $('tr:first', tabla);
$('#agregarFila').live('click', function (){
tr.clone().appendTo(tabla).find(':text, :hidden').val('');
});

$(".eliminarFila").live('click', function (){
var tr = $(this).closest('tr')
if ( $('[name=id[]]', tr).val() )
alert("Elimino de la bd con ajax");
tr.remove();
});

});
</script>
</head>


<body>

<form action="enviar.php" method="post">
<table id="tabla">
<tr>
<td><input type="hidden" name="id[]" value=""></td>
<td><input type="text" name="nombre[]" value=""></td>
<td><input type="text" name="apellido[]" value=""></td>
<td><input type="text" name="mail[]" value=""></td>
<td><input type="button" value="Eliminar" class="eliminarFila"></td>
</tr>
</table>
<input type="button" value="Agregar" id="agregarFila">
<input type="submit" value="Enviar datos"/>
</form>



</body>
</html>


aqui la consulta:



<?php
//1. Crear conexión a la Base de Datos
$conexion = mysql_connect("localhost","admin","unicaes");
if (!$conexion) {
die("Fallo la conexión a la Base de Datos: " . mysql_error());
}
//2. Seleccionar la Base de Datos a utilizar
$seleccionar_bd = mysql_select_db("clonar", $conexion);
if (!$seleccionar_bd) {
die("Fallo la selección de la Base de Datos: " . mysql_error());
}
//3. Tomar los campos provenientes del Formulario

for($i=0; $i<sizeoff(POST); $i++){




$id = ""; //este id es autoincrement por lo que lo dejo asi.
$nombre = $_POST['nombre[$i]'];
$apellido = $_POST['apellido[$i]'];
$mail = $_POST['mail[$i]'];
//4. Insertar campos en la Base de Datos (No inserto el id_empleado ya que se genera automaticamente)
$insertar = mysql_query("INSERT INTO datos (id,nombre, apellido,mail) VALUES ('".$id."','".$nombre."', '".$apellido."','".$mail."')", $conexion);
if (!$insertar) {
die("Fallo en la insercion de registro en la Base de Datos: " . mysql_error());
}

}

//4. Cerrar conexión a la Base de Datos
mysql_close($conexion);
echo '<script language="JAVASCRIPT">location.href="index.php";
</script>';
?>
  #2 (permalink)  
Antiguo 04/07/2012, 11:31
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: enviar registros de filas clonadas

No analicé a profundidad tu código, pero si entiendo bien, en una tabla tienes datos de un formulario (no es buena idea maquetar con tablas) y clonas una fila para agregar campos. De ser así, esos campos son html ajeno al formulario, lo que necesitas hacer es agregar campos como hijos del formulario. Y el problema es de javascript.
  #3 (permalink)  
Antiguo 04/07/2012, 11:57
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: enviar registros de filas clonadas

muchas gracias entiendo lo que me dice, conoces algun link o tutorial donde realice esto

Etiquetas: filas, formulario, formulario+dinamico, mysql
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 18:24.