Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Como mostrar resultados de una base de datos en una tabla de 3 X N???

Estas en el tema de Como mostrar resultados de una base de datos en una tabla de 3 X N??? en el foro de Bases de Datos General en Foros del Web. Buena noche... Tengo un problemita al cual no le he encontrado solucion desde hace muchos dias, y he decidido recurrir al foro para poder recibir ...
  #1 (permalink)  
Antiguo 12/02/2011, 23:57
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Busqueda Como mostrar resultados de una base de datos en una tabla de 3 X N???

Buena noche...

Tengo un problemita al cual no le he encontrado solucion desde hace muchos dias, y he decidido recurrir al foro para poder recibir ayuda.

Resulta que necesito mostrar en una tabla en Html los resultados de una consulta de una base de datos, el principal problema lo tengo con la etiqueta <tr> que es la que me permite crear filas.

He probado ya con muchos codigos en Internet y aun no he podido dar con lo que necesito, lo que sucede es que tengo una base de datos que tiene una serie de productos y lo que quiero es que me muestre en una tabla cada producto con su respectivo nombre, que se muestren 3 columnas, y que cuando llegue a la tercera columna, se genere una fila nueva y se muestre el siguiente y el siguiente producto, asi sucesivamente hasta mostrar toods los productos, por esto me refiero a una tabla de 3 columnas x n filas.

El problema es que la consulta se realiza y muestra 3 productos, luego cuando la condicion lleva a la etiqueta <tr>, se inicia la consulta de nuevo o me repite los productos en toda la fila y asi sucesivamente.


El codigo que he realizado hasta el momento es algo asi como lo siguiente. Contiene algunas pruebas q he realizado.


Código HTML:
<?
			  
			
					 
					 
		echo "<table width=80%  border=1>";
			
			 
	
			for($i=0;$i<2; $i++)
			{
 		 		echo "<tr>";
		 			
					 
					
					
					for($j=0;$j<3; $j++)
					{
					
					  $sSQL="SELECT * FROM vehiculos where veh_ciudad=35";    
				$result=mysql_query($sSQL);
				if ($row=mysql_fetch_array($result))
				{

						echo "<td>
							  ";
							
							
							echo "Columna " .$i . "fila ".$j . "Id ".$row["Id"][$j];
								echo "<div align=center>
									  <p><a href=".$row[2]."><img src=$row["imagen"] width=164 height=124 /></a></p>
									  <table width=100%  border=0>
                                        <tr>
                                          <td><div align=center><a href=".$row["veh_dni"]."><span style=color: #ff6600;>Renault Symbol Alize | 2000 | 1400 cc - VEH1005063</span></a></div></td>
                                        </tr>
                                      </table>
								  </div>";
								  
								
					 
						echo "</td>";
					 }
					 
					   }
				mysql_free_result($result);
		
				echo "</tr>";
				}
			
			
	echo "</table>";
					 

?> 
Agradezco la colaboracion de aquel que me pueda colaborar para dar solucion a esta duda que me tiene pensando ya durante muchos dias...

Gracias por su colaboracion.

saludos.
  #2 (permalink)  
Antiguo 14/02/2011, 06:00
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Como mostrar resultados de una base de datos en una tabla de 3 X N???

Alguien tendria que trasladar esto a php.

No debes ejecutar la consulta a cada iteración del bucle, se ejecuta una sola vez y se recorre el resultado...

En cuanto al salto de linea es muy útil el módulo del numero de columnas que deseas...

for ($i=0;$i<count($matrizdedatos);$i++){

if($i % 3 ==0) echo "</tr><tr>" cada vez que se pasa por un multiplo de 3 se cierra y abre la linea...

Cuidado al fina si count($matrizdedatos) no es multiplo de 3 deberas completar las celdas que falten y cerrar la linea y la tabla
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: resultados, tablas
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 20:24.