PHP - ¿Como recorrer una consulta para buscar coincidencias?

 
Vista:
sin imagen de perfil

¿Como recorrer una consulta para buscar coincidencias?

Publicado por Juanito (6 intervenciones) el 15/07/2016 16:45:45
Buenas tardes, ire directo al grano...
Tengo N cantidad de registros retornados de una consulta.. Ejemplo:

TIPO | CODIGO | DESCRIP | CANT | COSTO
A | 0001 | PAN | 15 | 50
A | 0002 | QUESO | 15 | 18
B | 0001 | PAN | 12 | 16
B | 0003 | JAMÓN | 14 | 12
C | 0004 | JUGO | 10 | 14
C | 0005 | TORTA | 16 | 20
D | 0003 | JAMÓN | 11 | 40
D | 0001 | PAN | 13 | 30

Esos datos deseo mostrarlos en una tabla de la siguiente manera...
] | A | B | C |
CODIGO | DESCRIP | CANT-A | COSTO-A | CANT-B | COSTO-B | CANT-B | COSTO-C | CANT-C
0001 | PAN | 15 | 50 | 12 | 16 | 0 | 0 | 13
0002 | QUESO | 15 | 18 | 0 | 0 | 0 | 0 | 0
0003 | JAMÓN | 0 | 0 | 14 | 12 | 0 | 0 | 11
0004 | JUGO | 0 | 0 | 0 | 0 | 10 | 14 | 0
0005 | TORTA | 0 | 0 | 0 | 0 | 16 | 20 | 0


Como podría hacer algo así? Se me ocurrió un ForLoop para que cuente todo y dentro otro ForLoop que busquen uno por uno, según el código del primer loop, algo asi:

1
2
3
4
5
6
7
8
9
//count($Codigo) = 8
for ($i=0; $i < count($Codigo); $i++) {
       //Obtengo el Primer Codigo $i
       for ($k=0; $k < count($Codigo); $k++) {
             if($Codigo[$i] == $Codigo[$k]) {
                 echo 'HAY UNO IGUAL';
             }
       }
}

Pero solo me ejecuta un solo loop, que es el principal, mientras que al hacerlo con un while, solo se ejecuta el 1 sola vez... ¿Alguien tiene alguna idea de como podría hacer?
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

¿Como recorrer una consulta para buscar coincidencias?

Publicado por kip (877 intervenciones) el 16/07/2016 00:46:43
Hola, no entendi la estructura de la tabla que deseas obtener:

] | A | B | C |
CODIGO | DESCRIP | CANT-A | COSTO-A | CANT-B | COSTO-B | CANT-B | COSTO-C | CANT-C
0001 | PAN | 15 | 50 | 12 | 16 | 0 | 0 | 13
0002 | QUESO | 15 | 18 | 0 | 0 | 0 | 0 | 0
0003 | JAMÓN | 0 | 0 | 14 | 12 | 0 | 0 | 11
0004 | JUGO | 0 | 0 | 0 | 0 | 10 | 14 | 0
0005 | TORTA | 0 | 0 | 0 | 0 | 16 | 20 | 0

Aquellas columnas A B C estan mal ubicada o las quieres mostrar asi?

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
sin imagen de perfil

¿Como recorrer una consulta para buscar coincidencias?

Publicado por Juanito (6 intervenciones) el 18/07/2016 21:06:33
Supongamos que esta en mi tabla
Step1

Y necesito, que los datos se muestren de esta manera (Una misma fila, separadas por el tipo)
Step2
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