PHP - Ayuda Consulta DB y PHP

 
Vista:
Imágen de perfil de Humberto

Ayuda Consulta DB y PHP

Publicado por Humberto (6 intervenciones) el 12/04/2018 18:20:32
Buenos días compañeros,no se si pudieran ayudarme porfavor y es que me estoy volviendo loco, lo que pasa es que tengo un detalle mas que nada de lógica y juego de impresiones en php.
Tengo una consulta que como resultado me genera esto nota: la consulta es la unión de 3 tablas relacionadas.


Pero ocupo imprimirlas en una tabla y que quede como resultado esto, la primera tabla es el resultado de mi db y la segunda es como quiero que me muestre.
1


Ya logre mostrarlo como quiero el problema es que no se como hacer la suma total, mi código es el siguiente.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$guarda_tipo = '';
 
while($fila= oci_fetch_assoc($cursor)) //RESULTADO DE LA CONSULTA
{
    //Este bloque me sirve para guardar la primera marca inicial.
    $print_marca .= "<tr>
		<td></td>
		<td></td>
		<td>".$fila['marca']."</td>
		<td>".$fila['cantidad']."</td>
		</tr>";
 
    if($clave_cate != $guarda_categoria) //Valido para imprimir solamente una categoría y que no se repita.
	{	//guardo la categoría y concateno con la categoría anterior. 
		$categoria .= "<tr'>
		<td>".$fila['clave_cate']."</td>
		<td>".$fila['categoria']."</td>
		<td></td>
		<td></td>
		</tr>
		$print_marca  //imprimo la marca 
		";
 
		$print_marca = ''; //vacio la marca para que no se guarde con el anterior					
 
	}
        //En caso de que se repita la categoría se saltea al else, eso quiere decir que aun estoy dentro de la misma categoría.
	else
	{
		$categoria.=$print_marca;  //concateno la siguiente marca con la categoría.
		$print_marca = '';
	}
	$guarda_categoria = $clave_cate; //guardo la categoría anterior para comparar con la siguiente en el if de arriba.
}

Entonces como pueden ver mi problema es que necesito imprimir en la categoría es la suma total de las marcas,
espero y me este dando entender.

Espero que puedan apoyarme, muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 19
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda Consulta DB y PHP

Publicado por tomas (7 intervenciones) el 13/04/2018 14:45:48
Buenas, lo que podes hacer es crear tres tablas. Una que tenga CATEGORIA(cat_id, cat_nombre), otra que tenga MARCA(marca_id,marca_nombre) y una tercera que te relacione la categoria con la marca ya que es una relacion de muchos a muchos donde tenga CATEGORIA_MARCA(cat_id,marca_id). Entonces cuando vas a realizar la consuta harias algo asi :

select c.cat_nombre, count(1) as total
from categoria c
join categoria_marca cm on c.cat_id = cm.cat_id

Esa consulta te va a retornar el nombre de la categoria con la cantidad total de stock que tenes.

Saludos!.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Humberto

Ayuda Consulta DB y PHP

Publicado por Humberto (6 intervenciones) el 13/04/2018 14:52:09
Muchas gracias por tu pronta respuesta, pero ocupo mostrar Categoria, marca y el total y debajo de ellos todas las marcas, que le corresponden a esa categoría.

Para ser mas sincero esto solamente es una prueba, porque en realidad la cantidad de datos que manejo son exagera mente grandes, como para usar base de datos oracle, y para mejorar el rendimiento a la hora de mostrar todos los datos, ocupo sacar la logica para que de una sola consulta pueda realizar todo eso atravez del código.

NOTA: mis tablas están totalmente relacionadas.

Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar