Foros del Web » Programando para Internet » PHP »

agrandar tabla segun vayas agregando registros

Estas en el tema de agrandar tabla segun vayas agregando registros en el foro de PHP en Foros del Web. buen dia amigos, quisiera me ayudaran en como puedo hacer para incrementar el numero de filas de una tabla segun el usuario vaya agregando mas ...
  #1 (permalink)  
Antiguo 02/07/2015, 08:45
 
Fecha de Ingreso: julio-2012
Ubicación: Nómoda como un ave
Mensajes: 61
Antigüedad: 12 años, 4 meses
Puntos: 0
Sonrisa agrandar tabla segun vayas agregando registros

buen dia amigos, quisiera me ayudaran en como puedo hacer para incrementar el numero de filas de una tabla segun el usuario vaya agregando mas registros a la misma..

puede ser al dar click n el boton agregar o al dar enter...



su´pongamos que tengo esto:
https://www.dropbox.com/s/ize6exw2m1...89%29.png?dl=0
  #2 (permalink)  
Antiguo 02/07/2015, 13:29
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: agrandar tabla segun vayas agregando registros

yo utilice este script:
Código Javascript:
Ver original
  1. <![CDATA[
  2.  
  3. var posicionCampo = 1;
  4.  
  5.  
  6. function agregarUsuario() {
  7.  
  8.     nuevaFila = document.getElementById("tablatracking").insertRow(-1);
  9.  
  10.     nuevaFila.id = posicionCampo;
  11.  
  12.     nuevaCelda = nuevaFila.insertCell(-1);
  13.  
  14.     nuevaCelda.innerHTML = "<td><input type='text' size='20' name='empresa[" + posicionCampo + "]' value='' placeholder=' Ej. UPS, FedEx, Lasership...' tooltipText='Ej. FedEx, UPS, Lasership, etc' required></td>";
  15.  
  16.     nuevaCelda = nuevaFila.insertCell(-1);
  17.  
  18.     nuevaCelda.innerHTML = "<td><input type='text' size='20' name='tracking[" + posicionCampo + "]' value='' placeholder=' Tracking' tooltipText='Número de Tracking' required></td>";
  19.  
  20.     nuevaCelda = nuevaFila.insertCell(-1);
  21.  
  22.     nuevaCelda.innerHTML = "<td><input type='button' id='eliminar' value='Eliminar' onclick='eliminarUsuario(this)'></td>";
  23.  
  24.     nuevaCelda = nuevaFila.insertCell(-1);
  25.  
  26.     nuevaCelda.innerHTML = "<td><input type='hidden' size='1' name='email[" + posicionCampo + "]' value='<?php echo $row_datos['email'] ?>'></td>";
  27.  
  28.     nuevaCelda = nuevaFila.insertCell(-1);
  29.    
  30.     nuevaCelda.innerHTML = "<td><input type='hidden' size='15' name='nombre[" + posicionCampo + "]' value='<?php echo $row_datos['nombre'] ?>'/></td>";
  31.  
  32.     nuevaCelda = nuevaFila.insertCell(-1);
  33.    
  34.     nuevaCelda.innerHTML = "<td><input type='hidden' size='1' name='cedula[" + posicionCampo + "]' value='<?php echo $row_datos['cedula'] ?>'/></td>";
  35.  
  36.     nuevaCelda = nuevaFila.insertCell(-1);
  37.    
  38.     nuevaCelda.innerHTML = "<td><input type='hidden' size='1' name='estatus[" + posicionCampo + "]' value='En Transito'/></td>";
  39.  
  40.     nuevaCelda = nuevaFila.insertCell(-1);
  41.    
  42.     nuevaCelda.innerHTML = "<td><input type='hidden' size='1' name='lugar[" + posicionCampo + "]' value='No_entregado'/></td>";
  43.  
  44.     nuevaCelda = nuevaFila.insertCell(-1);
  45.    
  46.     nuevaCelda.innerHTML = "<td><input type='hidden' size='1' name='fecha_registro[" + posicionCampo + "]' value='<?php echo date('Y-m-d'); ?>'/></td>";
  47.  
  48.     nuevaCelda = nuevaFila.insertCell(-1);
  49.    
  50.     nuevaCelda.innerHTML = "<td><input type='hidden' size='1' name='fecha_estatus[" + posicionCampo + "]' value='<?php echo date('Y-m-d '); ?>'/></td>";
  51.  
  52.     posicionCampo++;
  53.  
  54. }
  55.  
  56.  
  57. function eliminarUsuario(obj) {
  58.  
  59.     var oTr = obj;
  60.  
  61.     while(oTr.nodeName.toLowerCase() != 'tr') {
  62.  
  63.         oTr=oTr.parentNode;
  64.  
  65.     }
  66.  
  67.     var root = oTr.parentNode;
  68.  
  69.     root.removeChild(oTr);
  70.  
  71. }
el cual me genera una fila nueva presionando un boton y de igual manera me permite eliminar las filas con otro boton, y este es mi formulario:
Código HTML:
Ver original
  1. <form action="exito_alerta.php" method="post" enctype="multipart/form-data"><table id="tablatracking">
  2.         <tbody>
  3.          <tr>
  4.                 <td align="left"><input onclick="agregarUsuario()" type="button" value="Agregar Registro" id="boton_agregar"></td>
  5.             </tr>
  6.             <tr>
  7.                 <td width="228" id="titulo">Empresa<br>
  8.                                             Ej. UPS, FedEx, etc.</td>
  9.                 <td width="290" id="titulo">Codigo<br>
  10.                                             Tracking</td>
  11.                 <td width="33" ></td>
  12.                 <td width="24" ></td>
  13.                 <td width="24" ></td>
  14.                 <td width="74" ></td>
  15.                 <td width="74" ></td>
  16.                 <td width="74" ></td>
  17.                 <td width="75"></td>
  18.             </tr>
  19.         </tbody>
  20.     </table>
con la tabla que se va a repetir, a mi me funciona perfecto
  #3 (permalink)  
Antiguo 02/07/2015, 15:01
 
Fecha de Ingreso: julio-2012
Ubicación: Nómoda como un ave
Mensajes: 61
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: agrandar tabla segun vayas agregando registros

amigo, lo pruebo y te cuento que pasa si...
  #4 (permalink)  
Antiguo 02/07/2015, 15:53
 
Fecha de Ingreso: julio-2012
Ubicación: Nómoda como un ave
Mensajes: 61
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: agrandar tabla segun vayas agregando registros

regreso, editando mi respuesta.... amigo, esta excelente tu script

ahora me pregunto de que forma recorrerias todas esas fijas generadas si quisieras mandarlas a guardar a una base de datos...

Última edición por Papito18; 02/07/2015 a las 16:13
  #5 (permalink)  
Antiguo 02/07/2015, 16:15
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: agrandar tabla segun vayas agregando registros

lo lo hice de esta manera:
Código PHP:
Ver original
  1. $nombre = array();
  2. $cedula = array();
  3. $email = array();
  4. $empresa = array();
  5. $tracking = array();
  6. $estatus = array();
  7. $lugar = array();
  8. $fecha_registro = array();
  9. $fecha_estatus = array();
  10.  
  11. foreach($_POST['nombre'] as $key=>$value)
  12.     $nombre[]= $value;
  13.  
  14. foreach($_POST['cedula'] as $key=>$value)
  15.     $cedula[]= $value;
  16.  
  17. foreach($_POST['email'] as $key=>$value)
  18.     $email[]= $value;
  19.    
  20. foreach($_POST['empresa'] as $key=>$value)
  21.     $empresa[]= $value;
  22.  
  23. foreach($_POST['tracking'] as $key=>$value)
  24.     $tracking[]= $value;
  25.  
  26. foreach($_POST['estatus'] as $key=>$value)
  27.     $estatus[]= $value;
  28.  
  29. foreach($_POST['lugar'] as $key=>$value)
  30.     $lugar[]= $value;
  31.  
  32. foreach($_POST['fecha_registro'] as $key=>$value)
  33.     $fecha_registro[]= $value;
  34.  
  35. foreach($_POST['fecha_estatus'] as $key=>$value)
  36.     $fecha_estatus[]= $value;
  37.  
  38. $conexion= mysql_connect($hostname_envios, $username_envios, $password_envios);
  39. mysql_select_db($database_envios, $conexion);
  40.  
  41. for($i=0; $i<count($nombre); $i++)
  42. {
  43.    mysql_query("INSERT INTO tracking (Nombre, cedula, email, empresa, tracking, estatus, lugar, fecha_registro, fecha_estatus) VALUES('$nombre[$i]' , '$cedula[$i]' , '$email[$i]' , '$empresa[$i]' , '$tracking[$i]' , '$estatus[$i]' , '$lugar[$i]' , '$fecha_registro[$i]', '$fecha_estatus[$i]')",$conexion)or die(mysql_error());
  44. }
como ver alli, recibi las variables, las pase a array, luego las recorri y las guarde en la base, adaptalo que funciona al pelo, saludos
  #6 (permalink)  
Antiguo 02/07/2015, 16:48
 
Fecha de Ingreso: julio-2012
Ubicación: Nómoda como un ave
Mensajes: 61
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: agrandar tabla segun vayas agregando registros

y en que momento se van a guardar los registros en el array()

hasta que haga post(hasta que refresque la pagina ) ?

explicame brevemente ela linea de uno de los foreach por favor

esto no lo entiendo " $key=>$value "
  #7 (permalink)  
Antiguo 02/07/2015, 16:51
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: agrandar tabla segun vayas agregando registros

cuando envias el formulario este la recibe en las variables y transforma esos valores en un array, el value es el valor que viene del array por cada elemento es decir nombre: carlos, juan, marcelo, etc, luego es asignado a nombre[] el cual es insertado en la base una fila por valor.

funciona perfecto brother asegurado
  #8 (permalink)  
Antiguo 02/07/2015, 16:54
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: agrandar tabla segun vayas agregando registros

es decir, cuando envies tu formulario, este codigo lo recibe, procesa y te da la respuesta que configures de manera inmediata, yo lo tengo para que cuando ingrese los datos a la base de datos, le notifique al cliente y a mi del nuevo pedido via email
  #9 (permalink)  
Antiguo 02/07/2015, 17:04
 
Fecha de Ingreso: julio-2012
Ubicación: Nómoda como un ave
Mensajes: 61
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: agrandar tabla segun vayas agregando registros

Cita:
Iniciado por xfxstudios Ver Mensaje
es decir, cuando envies tu formulario, este codigo lo recibe, procesa y te da la respuesta que configures de manera inmediata, yo lo tengo para que cuando ingrese los datos a la base de datos, le notifique al cliente y a mi del nuevo pedido via email
lo que no comprendo es cuando dices esto as $key=>$value
que dices con "as" y porfa explicame que hace =>

que haces con esto:<![CDATA[

Etiquetas: agrandar, registro, registros, 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 11:48.