Foros del Web » Programando para Internet » PHP »

Mostrar datos de varias tablas

Estas en el tema de Mostrar datos de varias tablas en el foro de PHP en Foros del Web. Hola estoy haciendo una sección de compra-venta para mi pagina y ya nada mas empezar me he encontrado con el problema de mostrar los articulos ...
  #1 (permalink)  
Antiguo 09/06/2008, 05:46
Avatar de Aimarejada  
Fecha de Ingreso: abril-2006
Mensajes: 207
Antigüedad: 18 años
Puntos: 0
Mostrar datos de varias tablas

Hola estoy haciendo una sección de compra-venta para mi pagina y ya nada mas empezar me he encontrado con el problema de mostrar los articulos que hay.

Alamceno los datos en una base de datos MYSQL en la cual tengo 3 tablas que son : cv_secciones, cv_categorias y cv_articulos. Por lo tanto queria hacer una sola consulta para sacar todos los datos que necesito de estas 3 tablas, los datos que necesito son nombre de la seccion, nombre de categoria y por ultimo que me muestre el total de articulos que hay en cada categoria.

El problema es como hacer para que me muestre todo esto ya que tendria que mostrar algo asi:

Deportes (Seria una seccion)
-Futbol (Seria una categoria)
-Baloncesto (Seria una categoria)

Informatica (Seria una seccion)
-Sofware (Seria una categoria)
-Hardware (Seria una categoria)

Pero no se si hacerlo con un bucle While nada mas o con uno por sección, en caso de hacerlo con un bucle no se como guardar cada dato de los 3 que necesito en variables para luego mostrarlas.

Esto es lo que intente pero no creo que ni la consulta a la base de datos este bien formulada.


Código:
<?php
		$art = mysql_query("SELECT cv_secciones(nombre),cv_categorias(nombre), COUNT(id_articulos)
FROM cv_secciones, cv_categorias, cv_articulos 
WHERE cv_secciones.id_seccion=cv_categorias.id_categoria") or die(mysql_error());
			
                  while($row = mysql_fetch_array($art)) {
				$seccion = $row['nombre'];
				$categoria = $row['nombre'];
				$total = $row['count'];
            
                 echo $seccion  echo $categoria echo $total 
          
                }
?>
  #2 (permalink)  
Antiguo 09/06/2008, 08:28
Avatar de lusam  
Fecha de Ingreso: enero-2007
Ubicación: Panamá
Mensajes: 56
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Mostrar datos de varias tablas

<?php
$art = mysql_query("SELECT x.nombre, y.nombre, COUNT(z.id_articulos)
FROM cv_secciones x, cv_categorias y, cv_articulos z
WHERE x.id_seccion=y.id_categoria") or die(mysql_error());

while($row = mysql_fetch_array($art)) {
$seccion = $row['x.nombre'];
$categoria = $row['y.nombre'];
$total = $row['z.id_articulos'];

echo $seccion; echo $categoria; echo $total;

}
?>
  #3 (permalink)  
Antiguo 11/06/2008, 02:02
Avatar de Aimarejada  
Fecha de Ingreso: abril-2006
Mensajes: 207
Antigüedad: 18 años
Puntos: 0
Respuesta: Mostrar datos de varias tablas

Al final para que me funcionara lo hice asi:

Código:
$art = mysql_query("SELECT s.nombre AS s, c.nombre AS c, COUNT(a.id_articulo) AS t
FROM cv_secciones s, cv_categorias c, cv_articulos a
WHERE s.id_seccion=c.id_categoria GROUP BY s.nombre") or die(mysql_error());



			while($row = mysql_fetch_assoc($art)) {
				$seccion = $row['s'];
				$categoria = $row['c'];
				$total = $row['t'];

				echo $seccion . " > " . $categoria ." > " . $total;

			}

Última edición por Aimarejada; 11/06/2008 a las 04:02
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 05:24.