Foros del Web » Programando para Internet » PHP »

Construcción de tablas complejas

Estas en el tema de Construcción de tablas complejas en el foro de PHP en Foros del Web. Hola, Actualmente cuando en una web tengo una tabla y quiero mostrar los datos de una BBDD sigo el siguiente procedimiento: Acceso BBDD y consulta ...
  #1 (permalink)  
Antiguo 26/04/2012, 04:22
 
Fecha de Ingreso: noviembre-2009
Mensajes: 11
Antigüedad: 14 años, 5 meses
Puntos: 1
Construcción de tablas complejas

Hola,

Actualmente cuando en una web tengo una tabla y quiero mostrar los datos de una BBDD sigo el siguiente procedimiento:

Acceso BBDD y consulta SQL


Montaje Tabla en HTML y recuperacion valores de la consulta

Código:
<TABLE 
	<TR>
		<TD Columna fija 1 </TD>
		<TD Columna fija 2 </TD>
	</TR>
	
	<?php DO WHILE FIN_DE_REGISTROS ?>

	<TR>
		<TD> <?php RECUPERACION DATO DE LA CONSULTA SQL  ?> 	</TD>
		<TD> <?php RECUPERACION DATO DE LA CONSULTA SQL  ?> 	</TD>
	</TR>

	<?php 
           MOVER AL SIGUIENTE REGISTRO BBDD
	   END WHILE
	   CERRAR CONEXIÓN BBDD
	?>
	
</TABLE>
Donde tengo unas columnas fijas y un encabezado fijo y luego en un bucle voy rellenando y printando tantas filas como registros me vaya encontrando en la BBDD.

Bien, pues resulta que ahora tengo que montar una tabla per mucho más compleja donde el número de columnas es variable y donde en cada fila tendría que hacer una/varias consultas SQL largas, con operaciones aritméticas por el medio etc. Entonces si sigo la misma estrategia de mezclar la construccion de la tabla en HTML con los accesos SQL a la BBDD, las operaciones, etc me quedaría todo mezcladisimo y poco manejable.

Qué es recomendable hacer en estos casos? Seria una solución buena hacer primero todas las consultas SQL (muchas decenas) y todos los cálculos e ir guardando los resultados a mostrar en una o varias matrices y luego al montar la tabla ir recorriendo esas matrices y recuperar los valores de allí ? Es una buena aproximación o me recomendáis otra?

Gracias.
  #2 (permalink)  
Antiguo 26/04/2012, 04:24
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Construcción de tablas complejas

Es una solución, en efecto el patrón MVC sugiere eso.
Desde luego la implementación concreta depende de tu sistema pero en lineas generales esa es la solución correcta.
Saludos
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 26/04/2012, 05:08
 
Fecha de Ingreso: noviembre-2009
Mensajes: 11
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Construcción de tablas complejas

Gracias. Entiendo que de aqui que surgiera la filosofia Modelo Vista Controlador, pero tengo la limitación que estoy trabajando con ASP clasico y tengo que buscar un workaround para hacerlo y lo unico que se me ocurre es lo de montar una matriz intermedia y luego maquetar la tabla recorriendo esa matriz.

Porque sino, sinceramente no me veo metiendo entre <TR> </TR> los accesos, consultas SQL y multiples operaciones/calculos...

Digamos que me gustaría tener todos los datos antes de montar la tabla en lugar de irla montado a medida que los voy obteniendo. Alguna idea/ayuda/consejor más?

Última edición por mitteg; 26/04/2012 a las 05:39
  #4 (permalink)  
Antiguo 26/04/2012, 06:04
Avatar de raffskizze  
Fecha de Ingreso: marzo-2004
Ubicación: ...
Mensajes: 433
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Construcción de tablas complejas

Sin duda lo mejor que puedes hacer es primero meterlo todo en un array bien construido y después volcarlo al diseño, como veo que el sistema no te deja hacer otra cosa, seria cuestión de hacer dos funciones, una que saca los datos y construye el array, y otra que lo dibuja.

Lo ideal es que la funcion que lo dibuja extrajera el diseño de una plantilla, para así poder cambiar la tabla por divs o cualquier otro formato el dia de mañana. Por ejemplo si en el futuro tienes pensado exportarlo a un pdf...excel...
__________________
echo ( www.tutorial-enlace.net == tutoriales gratis ) ? 'Aprenderas gratis !!' : 'No aprenderas !!';

Etiquetas: html, registro, sql, tabla, tablas, variables
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 07:36.