Foros del Web » Programando para Internet » PHP »

Como agregar una nueva fila a una tabla con php??

Estas en el tema de Como agregar una nueva fila a una tabla con php?? en el foro de PHP en Foros del Web. Hola, lo primero que dire es que gracias a este foro, he aprendido una infinidad de cosas, se los agradesco, y mi pregunta sería la ...
  #1 (permalink)  
Antiguo 01/02/2006, 17:18
 
Fecha de Ingreso: julio-2005
Mensajes: 44
Antigüedad: 18 años, 8 meses
Puntos: 0
Como agregar una nueva fila a una tabla con php??

Hola, lo primero que dire es que gracias a este foro, he aprendido una infinidad de cosas, se los agradesco, y mi pregunta sería la siguiente:
Tengo una tabla comun y corriente echa en html, pero el problema es que quiero hacerla dinamica, o sea que a traves de un boton me aparezca una nueva fila en la tabla, pero sin perder la informacion que tengo anteriormente almacenada en la tabla.... me han dicho que puedo hacerla a travez de php ....
Si alguien me ayuda sería de gran ayuda.... gracias !!!!
  #2 (permalink)  
Antiguo 01/02/2006, 17:35
 
Fecha de Ingreso: diciembre-2005
Mensajes: 122
Antigüedad: 18 años, 4 meses
Puntos: 0
eso se puede hacer a traves de php o tambien usando JavaScript y la funciones DOM.

con PHP: no se de donde sacas esa tabla, si es de una base de datos agregas los datos y actualizas la tabla. eso lo logras usando alguna función de la base de datos que utilizes. si es estática, olvidalo; editar html con php es engorroso.

con JS: primero defines un identificador para la tabla. un ejemplo facil seria hacer:

var tabla = document.getElementById( "mi_tabla" );
tabla.innerHTML += "<tr><td>Registro Nuevo</td></tr>";

no especificas donde tienes la tabla ni si quieres que el contenido se conserve, por lo que no puedo ser de mas ayuda.
  #3 (permalink)  
Antiguo 02/02/2006, 07:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En cualquier caso .. la solución sería vía Javascript (o lenguaje del lado del "cliente") .. por lo menos la más efectiva. Una vez creado "dinámicamente" esa fila nueva (con elementos de formulario incluidos) .. se comportaría como un formulario creado "a mano" cara a PHP .. es decir .. PHP recibirá esos N elementos del formulario.

De todas formas debes aclarar que contiene esa "tabla" que hablas .. por qué no es lo mismo generar una tabla HTML en base a datos extraidos de una BD por ejemplo .. que ir generando un "formulario" dinámicamente con N elementos (relacionados por fila) ...

Un saludo,
  #4 (permalink)  
Antiguo 06/02/2006, 03:43
 
Fecha de Ingreso: febrero-2006
Mensajes: 32
Antigüedad: 18 años, 2 meses
Puntos: 0
Sonrisa

Hola!!
Yo tengo el mismo problema q ingeniero4ever, quiero hacer una tabla dinamica y no me sale, la tabla q yo quiero hacer dinamica es para un formulario para rellenar una base de datos. Con php no se puede hacer???Yo intentado algo pero no funciona asiq si me podeis dar alguna idea.
Muchas gracias
  #5 (permalink)  
Antiguo 06/02/2006, 04:00
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
mawi,

Para hacer lo que necesitas no vale solo con hacer "copy & paste" el hacer una tabla dinámica implica el conocimiento de varias cosas. No estoy diciendo que sea dificil ni imposible ^_^ pero te recomiendo que dediques tiempo al aprendizaje de php sin saltarte pasos.

1. Si sabes programar sabrás como funciona la programación en caso contrario deberías aprender algo de teoría sobre el mundo de la programación, metodología.
2. Familiarizarte con la sintaxis, operadores... etc...
3. Acceso a datos
4. Ya podrás hacer lo que quieras en PHP :)

Un saludo.
__________________
www.pensandoenred.com
  #6 (permalink)  
Antiguo 06/02/2006, 04:18
 
Fecha de Ingreso: febrero-2006
Mensajes: 32
Antigüedad: 18 años, 2 meses
Puntos: 0
Hola Mario!!
Bueno la verdad esq no soy nada experta ni nada de eso pq acabo de ponerme a programar en php ya q no lo conocia pero poco a poco voy aprendiendo, a base de manuales y ejemplos he ido aprendiendo.
Necesito hacer la tabla dinamica pq man dicho en el trabajo q tengo q hacerlo asi ya q en ppio yo habia hecho un formulario normal y una tabla estatica y de por ahora lo tengo hecho asi para q vaya funcionando pero tengo q intentar hacerlo con la tabla dinamica.
Como ya te dicho intente hacer algo pero no me funciono, si quieres te digo lo q hice.
Bueno muchas gracias por el consejo de todos modos.Un saludo.
  #7 (permalink)  
Antiguo 06/02/2006, 04:38
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Explica mejor que es lo que necesitas hacer y entre todos seguro que te podemos ayudar, tanto a aprender php como en sacarte de las atascadas que todos nos solemos pegar cuando andamos codificando :)

Un saludo.
__________________
www.pensandoenred.com
  #8 (permalink)  
Antiguo 06/02/2006, 05:19
 
Fecha de Ingreso: febrero-2006
Mensajes: 32
Antigüedad: 18 años, 2 meses
Puntos: 0
Sonrisa

Bueno, te explico(aunq he de advertir q no me suelo explicar muy bien). Lo q tengo q estoy intentando hacer es una aplicacion para llevar un control de la gestion de cliente y equipos q tiene la empresa para poder saber los servicios q cada cliente tiene contratados con nosotros o los equipos q le hemos instalado, bueno, un cliente puede tener contratados unos servicios para un equipo(por ejemplo, a un cliente se le pone un firewall, pos ira con una licencia, un mantenimiento, un antivirus, etc). Cuando registramos el equipo nuevo entonces tenemos q poner los servicios q tambien va a llevar, q puede ser solo la licencia, licencia y mantenimiento, etc, pos bien, segun los servicios q tengamos q poner asi tendra q ir creciendo la tabla, es decir, si yo elegio el servicio de mantenimiento pos tendre q añadir una nueva fila en la tabla para poder rellenar los datos de ese servicio y asi se quede registrado el nuevo equipo con el servicio correspondiente.
Mas o menos es esto lo que pretendo, nose si me habras entendido o si te habras hecho mas o menos una idea de lo q intento hacer.
Muchas gracias por el interes.
Un saludo
  #9 (permalink)  
Antiguo 06/02/2006, 06:13
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Buenas Mawi,

Creo que he entendido bien lo que intentas hacer, pero antes de ir agregando lineas a la tabla tal vez lo más importante en ese proyecto es la BD un buen diseño con sus relaciones.

El agregar un registro y luevo volver a mostrarlo es lo más facil, si ya tienes diseñada la BD te puedo echar una mano a resolver esa duda.

Un saludo.
__________________
www.pensandoenred.com
  #10 (permalink)  
Antiguo 06/02/2006, 06:20
 
Fecha de Ingreso: febrero-2006
Mensajes: 32
Antigüedad: 18 años, 2 meses
Puntos: 0
Sonrisa

Muchas gracia Mario,
si ya tengo la base de datos diseñada, lo que hecho es q los equipos los guardo en una tabla, y cada servicio tiene otra tabla, bueno los equipos y los servicios se relacionan por medio de otra tabla q se llama ventas, la cual tb relaciona los equipos con los clientes, nose si te haces una idea??
mas o menos creo q es la forma de hacerlo mejor pero si tu piensas otra cosa mejor te agradeceria me comentaras.
muchisimas gracias
  #11 (permalink)  
Antiguo 06/02/2006, 06:53
 
Fecha de Ingreso: febrero-2006
Mensajes: 32
Antigüedad: 18 años, 2 meses
Puntos: 0
Sonrisa

Mario tambien te agradeceria leyeras, si puedes y tienes tiempo, las dudas q he puesto en problemas con los formularios, pq esa duda me urge un poco como resolverla asiq si pudieras echarme una mano, siempre y cuando puedas y tenga tiempo claro.
Gracias
  #12 (permalink)  
Antiguo 06/02/2006, 11:46
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
saludos ... no se si tu problema es con la impresion de la informacion de dichas relaciones de las tablas ,, si es asi creo que te puedo ayudar ..
  #13 (permalink)  
Antiguo 06/02/2006, 12:32
 
Fecha de Ingreso: febrero-2006
Mensajes: 32
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta

Hola Pirruman!!
A ver mi problema esq nose como hacerlo para q la tabla del formulario sea dinamica, es decir, q cuando quiera rellenar un servicio selecciones el servicio q quiero y se cree una fila nueva donde poder rellenar los datos.
Un saludo y gracias por interesante.
  #14 (permalink)  
Antiguo 06/02/2006, 13:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Concreta si no te importaría que la página se recargue o no se ha de recargar.

Por qué si es la 2° opción .. la más parecida a una "aplicación de escritorio" .. con PHP sólo no podrás hacerlo .. tendrás que usar otras técnicas como por ejemplo DHTML (Javascript + HTML: Dinamic HTML) .. Creo que es esto lo que necesitas, deberías consultar en el foro de Javascript.

Si no te importa recargar la página ... con PHP puedes ir creando ventanas .. almacenando datos en sesiones por el momento .. o recargando la página y generando una página con un nuevo grupo de "input" para tu formulario ..

Un saludo,
  #15 (permalink)  
Antiguo 06/02/2006, 16:05
 
Fecha de Ingreso: julio-2005
Mensajes: 44
Antigüedad: 18 años, 8 meses
Puntos: 0
bueno perdon a todos, ahora me explico mejor.... tengo la siguiente tabla hecha con html:

<html>
<head>
<title> New Document </title>
</head>
<body>
<table>
<form name="formulario">
<tr>
<td>
<input type="text" name="CAMPO1" value="">
<input type="text" name="CAMPO2" value="">
</td>
</tr>
<tr>
<td><input type="radio" name="insertar_registro" ></td>
</tr>
</form>
</table>
</body>
</html>

Como realizar una funcion en php que al pinchar el radio button, me aparezca un nuevo registro sin borrar los registros antes llenados ???

Si alguien me puede ayudar sería de gran ayuda......
  #16 (permalink)  
Antiguo 06/02/2006, 17:42
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
una funcion evaluando el radio buton

haz intentado agregar el evento onclick en el radio donde este contenga una funcion en java q cree los texts?? si te sirve eso podri a ayudarte ........

aaaa pero quieres que cada vez que haga click en el radio(muchas cajas de texto) o solo una vez( una caja de texto)

atte pirruman



1
Cita:
Iniciado por ingeniero4ever
bueno perdon a todos, ahora me explico mejor.... tengo la siguiente tabla hecha con html:

<html>
<head>
<title> New Document </title>
</head>
<body>
<table>
<form name="formulario">
<tr>
<td>
<input type="text" name="CAMPO1" value="">
<input type="text" name="CAMPO2" value="">
</td>
</tr>
<tr>
<td><input type="radio" name="insertar_registro" ></td>
</tr>
</form>
</table>
</body>
</html>

Como realizar una funcion en php que al pinchar el radio button, me aparezca un nuevo registro sin borrar los registros antes llenados ???

Si alguien me puede ayudar sería de gran ayuda......
  #17 (permalink)  
Antiguo 06/02/2006, 17:50
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
verificar la esxistencia de tu select

Cita:
Iniciado por mawi
Hola Pirruman!!
A ver mi problema esq nose como hacerlo para q la tabla del formulario sea dinamica, es decir, q cuando quiera rellenar un servicio selecciones el servicio q quiero y se cree una fila nueva donde poder rellenar los datos.
Un saludo y gracias por interesante.

podrias recargar la pagina y checar si tu select existe de ser asi que imprimiese tu columna que deseas ...

o si no es pro ahi podrias especificar mas lo q deseas

atte pirruman
  #18 (permalink)  
Antiguo 07/02/2006, 02:21
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Buenas,

Yo para evitar la introducción de datos duplicados por una recarga no deseada después de enviar el post... :) lo que hago es enviar la información por post a otro fichero php.

tabla_y_formulario_para_introducir_datos.php -> introducir_datos.php->tabla_y_formulario_para_introducir_datos.php

En el fichero que muestro el listado de la información tengo un formulario para agregar un nuevo registro, esos datos los procesa un fichero diferente "introducir_datos.php" y luego redirecciono a la página inicial.

El redireccionamiento lo hago con JS así puedo poner un gráfico de "guardando" xD para que al usuario le parezca más chulo :)

No se si esta es la información que necesitas o todavía no me ha quedado clara tu idea.

Un saludo.
__________________
www.pensandoenred.com
  #19 (permalink)  
Antiguo 07/02/2006, 02:45
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 18 años, 4 meses
Puntos: 1
Sin desmerecer la opinión de nadie, estoy de acuerdo con plus_ultra.

Si he entendido bien, lo que necesitas es ampliar los campos de un formulario mediante la inclusión de nuevas filas a una tabla. En este caso usaría JavaScript para la modificación de la estructura de la tabla y PhP para guardar los datos.

¿Por qué utilizar PHP, para simplemente añadir una fila más a una tabla, cuando esto lo hace perfectamente JavaScript?

Prueba con este pequeño código a ver si te puede valer para hacerte una idea:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Prueba</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<meta name="robots" content="ALL"/>
<script type='text/javascript'>
	function unaMas(arg){
		if(document.getElementById(arg)){
			document.getElementById(arg).innerHTML += "<tr><td>nueva fila<\/td><\/tr>";
		}
	}
</script>
</head>
<body>
<form name='frmTabla' action='nose.htm' method='post'>
<table cellpadding='0' cellspacing='0' id='tabla'>
	<tr><td>hola</td></tr>
</table>
<input type='button' name='btnMas' value='añade una fila' onclick='unaMas("tabla")' />
</form>
</body>
</html> 
__________________
http://www.nosoynadie.net/

Última edición por nosoynadie; 07/02/2006 a las 02:52
  #20 (permalink)  
Antiguo 07/02/2006, 06:42
 
Fecha de Ingreso: febrero-2006
Mensajes: 32
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta

Hola a todos!!
La tabla la prefiero hacer en php pq mas o menos algo se (bueno toy aprediendo) pero esq de javascript no hecho nunca nada y supongo q me resultaria mas dificil, aisq no me importa recargar la pagina, es mas como yo lo empece hacer fue asi pero no me funcionaba pq no me hacia ni caso cuando selecionaba un servicio entonces claro nose cargaba la nueva fila de la tabla.
Os pongo el codigo de lo q hice aunq tiene fallos pero asi os haceis una idea:
<form method="post" action="$PHP_SELF?accion=vertipo">
<table width="756" border="1" cellspacing="0" cellpadding="0" bordercolor="#f7f7f7" align="center">
<div align="center"><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2" color="#003399"><b> &nbsp;INFORMACION PARA LAS LICENCIAS, SERVICIOS O GESTION DE UN EQUIPO </b></font><br><br>
</div>
<tr><div align="left">
<font size="2" color="#006699"><b>Servicios:</b></font>
<select><option selected>"NINGUNO"
<option>Mantenimiento Hardware</option>
<option>Licencia</option>
<option>Gestión/Administración</option>
<option>Antispy</option>
<option>Antivirus</option>
<option>IDS/IPS</option>
</select>
<input type="submit" name="Submit" value="Seleccionar" id="servicios">
</div>
</tr>
</form>
if($_GET['accion']=="vertipo"){
//dependiendo del servicio q selecionemos se iran añadiendo filas a la tabla:
$tiposervicio=$_POST['servicio'];
if($tiposervicio=="Mantenimiento Hardware"){
<form method="post" action="$PHP_SELF?accion=hacernuevo">
<table width="756" border="1" cellspacing="0" cellpadding="0" bordercolor="#f7f7f7" align="left">
<div align="left"><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2" color="#003399"><b> &nbsp;INFORMACION PARA LAS LICENCIAS, SERVICIOS O GESTION DE UN EQUIPO </b></font><br><br>
</div>
<tr>
<td width="664" bgcolor="#f7f7f7"></td>
</tr>
<tr>
<th><td width="100"><div align="left"><font face="Tahoma, Arial, Verdana" color="#000033" size="2" ><b>Servicio:</b>
</font></div></td></th>
..................
</tr>
<tr>
<td><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong>$tipo</strong></font></div></td>
<td>................
</tr>
</table>
HTML;
}//fin del if del servicio Mantenimiento hardware

if($tiposervicio=='Licencia'){
..................
}
if($tiposervicio=='Gestion/Administracion'){
...............
}
if($tiposervicio=='Antispy'){
.........................
}
if($tiposervicio=='Antivirus'){
....................
}
if($tiposervicio=='IDS/IPS'){
........................
}
if($_GET['accion']=="hacernuevo"){

$tipoEq=$_POST['tipoEq'];
.................
}

Bueno va mas o menos asi.
Gracias
  #21 (permalink)  
Antiguo 07/02/2006, 08:41
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Igual te puede interesar el contenido DHTML que publica esta url:

http://www.activewidgets.com/

Un saludo.
__________________
www.pensandoenred.com
  #22 (permalink)  
Antiguo 07/02/2006, 11:32
 
Fecha de Ingreso: febrero-2006
Mensajes: 32
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta

Mario te agradezco mucho la idea pero en la url q me has dado no me entero muy bien, lo tengo q hacer con javascript??
Gracias.
  #23 (permalink)  
Antiguo 08/02/2006, 06:10
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
no lo tiens que hacer con javascript, pero es una manera de representar una tabla en la parte cliente donde el cliente puede añadir modificar y borrar registros de esa tabla sin problemas, y luego dandole al "botón" de guardar enviarías toda la información al fichero php para que los procesara.

Un saludo.
__________________
www.pensandoenred.com
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:50.