Foros del Web » Programando para Internet » PHP »

Problema insertar datos de una tabla con filas dinámicas a base de datos

Estas en el tema de Problema insertar datos de una tabla con filas dinámicas a base de datos en el foro de PHP en Foros del Web. Hola a todos recurro a ustedes para pedirle ayuda con respecto a una tabla dinámica que estoy generando con java escrip y html... me explico ...
  #1 (permalink)  
Antiguo 16/09/2014, 19:55
 
Fecha de Ingreso: septiembre-2014
Mensajes: 23
Antigüedad: 9 años, 7 meses
Puntos: 0
Pregunta Problema insertar datos de una tabla con filas dinámicas a base de datos

Hola a todos recurro a ustedes para pedirle ayuda con respecto a una tabla dinámica que estoy generando con java escrip y html... me explico estoy generando una tabla normal en html a la cual le quiero agregar filas dinámicamente esto hasta ahora lo he hecho con javascript y efectivamente funciona pero a la hora de querer insertar los datos que recojo en las nuevas filas no se como hacerle para almacenar dichos datos he estado leyendo y en algunas partes dicen que se debe recorrer las nuevas celdas con un array que recoja los datos para luego poder almacenarlos... la cuestión es que no tengo idea de como hacer eso si me pudieran ayudar por favor??? anexo el código javascrip que genera las filas...
<script language="javascript" type="text/javascript">
var posicionCampo=1;

function agregarUsuario(){

nuevaFila = document.getElementById("tabla").insertRow(-1);

nuevaFila.id=posicionCampo;


nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td><input type='text' size='10' id='campo1"+posicionCampo+"' name='campo1["+posicionCampo+"]' value=''/></td>";

nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td><input type='text' size='10' id='campo2"+posicionCampo+"' name='campo2["+posicionCampo+"]' value=''/></td>";

nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td><input type='text' size='10' id='campo3"+posicionCampo+"' name='campo3["+posicionCampo+"]' values=''/></td> ";



posicionCampo++;

}
</script>

Este código en mi html le hago el llamado con un <input name="Agregar" type="button" value="Agregar Fila" onClick="agregarUsuario()">
el cual genera las filas.. ahora necesito es como poder guardar eso datos de las nuevas filas en mi base de datos gracias de antemano.. :)
  #2 (permalink)  
Antiguo 17/09/2014, 07:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema insertar datos de una tabla con filas dinámicas a base de datos

Cita:
ahora necesito es como poder guardar eso datos de las nuevas filas en mi base de datos
Con JavaScript puro es imposible. Necesitas un lenguaje del lado del servidor que se encargue de la tarea, por ejemplo PHP, java, ASP.Net, etc...
¿Cuál manejas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/09/2014, 18:09
 
Fecha de Ingreso: septiembre-2014
Mensajes: 23
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Problema insertar datos de una tabla con filas dinámicas a base de datos

exacto si estoy trabajando con php orientado a objetos la cosa es que no se como implementarlo para tomar los datos y guardarlos que puedo hacer???
  #4 (permalink)  
Antiguo 18/09/2014, 06:35
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 36
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: Problema insertar datos de una tabla con filas dinámicas a base de datos

Hola Paula_21,

Lo que pides es algo complicado como para explicártelo en dos líneas, pero creo que lo que necesitas es usar ajax.

Para más simplicidad prueba con la función
Código Javascript:
Ver original
  1. $.post("addFila.ajax.php",{
  2.     nombre:'texto'
  3. }).done(function(data){
  4.    alert(data).
  5. });
Te lo explico rápidamente, pero necesitaras buscar en internet más información.

Esa función pertenece a las librerías de JQuery.
El primer parámetro es la ruta de un fichero php.
El segundo parámetro es un array asociativo (nombre: valor).
En el archivo php que pongas en el parámetro 1 recibirás por $_POST los nombres del parámetro 2.
Haces el insert en el php.
Muestras un "echo 'OK';" o "KO" en función si el insert se ha hecho correctamente o no.
Por último cuándo acabe la ejecución del php se ejecutará la segunda parte del javascript, el done.
El parámetro data traerá TODO lo que se haya impreso por pantalla en el PHP.

Fichero addFila.ajax.php

Código PHP:
<?
$nombre
=$_POST['nombre'];
$sql="Insert intro....";
//Ejecutar sql....

if($insertOkey)
    echo 
"OK";
else
    echo 
"KO";
?>
Y el $.post lo podrías ejecutar dentro de la funcion agregarUsuario();

Espero haberte ayudado.

Saludos, Alex.
  #5 (permalink)  
Antiguo 21/09/2014, 22:08
 
Fecha de Ingreso: septiembre-2014
Mensajes: 23
Antigüedad: 9 años, 7 meses
Puntos: 0
Exclamación Respuesta: Problema insertar datos de una tabla con filas dinámicas a base de datos

muchas gracias chico en cierta forma me ha funcionada te explico... hize lo que dijiste y de hecho inserta pero lo que me inserta es un array ya que como dijiste hago la asignación de lo que trae POST a una variable (ej: $nombre=$_POST[ 'nombre' ]; ) y a la hora de hacer el insert las variables que uso para hacer el registro es las que les di el valor de POST en la posición "X".. bueno la función es esta..

function insertar($nom, $ape, $nom1, $ape1, $ced, $eda, $sex, $etn, $emb, $ocu, $pun_no, $num_lam, $tip_bus, $esp_pla, $fec_fie, $fec_tom, $fec_exa, $clasi, $lug_tom, $par_tom, $mun_tom, $est_tom, $lug_ori, $par_ori, $mun_ori, $est_ori, $muerte){ //recibo las variables que ya les di el valor de POST

//EJECUTO LA CONSULTA
$consulta=("INSERT INTO denuncia
values( default, 'estado', '1', '$nom', '$ape', '$nom1', '$ape1', '$ced', '$eda', '$sex', '$etn', '$emb', '$ocu', '$pun_no', '$num_lam', '$tip_bus', '$esp_pla', '$fec_fie', '$fec_tom', '$fec_exa', '$clasi', '$lug_tom', '$par_tom', '$mun_tom', '$est_tom', '$lug_ori', '$par_ori', '$mun_ori', '$est_ori', '$muerte', now() )");

$res=pg_query(parent::con(),$consulta); //LO MANDO A BD


if($insertOkey)
echo "OK";
else
echo "KO";


}

me muestra este errorsito con el insertOkey dice (Undefined variable: insertOkey ) El caso es que lo que registra es un array cuando entro en la base de datos los registros que aparecen en donde deberian estar los datos es ARRAY no sabes porq sera esto?? quizas tengo algo mal o debo especificar la posición en el array???

te anexo el código javascrip como lo modifiqué para que veas perdón si tiene algun horror de programación o sintaxis la verdad primera vez que trabajo con ajax a lo mejor me puedas ayudar... muchas gracias igualmente...

<script language="javascript" type="text/javascript">
var posicionCampo=1;

function agregarUsuario(){

nuevaFila = document.getElementById("tabla").insertRow(-1);

nuevaFila.id=posicionCampo;

nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td><input type='text' size='8' id='campo1"+posicionCampo+"' name='campo1["+posicionCampo+"]' values=''></td>";

nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td><input type='text' size='5' id='campo2"+posicionCampo+"' name='campo2["+posicionCampo+"]' value=''/></td>";

nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td><input type='text' size='5' id='campo3"+posicionCampo+"' name='campo3["+posicionCampo+"]' value=''/></td>";
posicionCampo++; }
</script>

<script language="javascript" type="text/javascript">


$.post("addFila.ajax.php",{
campo1:'["posicionCampo++"]', campo2:'["posicionCampo++"]', campo3:'["posicionCampo++"]', campo4:'["posicionCampo++"]', campo5:'["posicionCampo++"]', campo6:'["posicionCampo++"]', campo7:'["posicionCampo++"]', campo8:'["posicionCampo++"]', campo9:'["posicionCampo++"]', campo10:'["posicionCampo++"]', campo11:'["posicionCampo++"]', campo12:'["posicionCampo++"]', campo13:'["posicionCampo++"]', campo14:'["posicionCampo++"]', campo15:'["posicionCampo++"]', campo16:'["posicionCampo++"]', campo17:'["posicionCampo++"]', campo18:'["posicionCampo++"]', campo19:'["posicionCampo++"]', campo20:'["posicionCampo++"]', campo21:'["posicionCampo++"]', campo22:'["posicionCampo++"]', campo23:'["posicionCampo++"]', campo24:'["posicionCampo++"]', campo25:'["posicionCampo++"]', campo26:'["posicionCampo++"]', campo27:'["posicionCampo++"]'
}).done(function(data){
alert(data).
});
</script>

Son 27 campos y contando :D por eso lo largooo.. :3 gracias y nuevamente perdón por algún horror

Etiquetas: filas, funcion, html, input, javascript, tabla
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 21:40.