
¿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:
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?
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


0