Código PHP:
Ver original
#Años a crear inventario #Tomamos las compras desde el inicio hasta 2011 por empresa $compras = $bd->consulta("SELECT claart, claemp, cantidad, fecha FROM compra WHERE year(fecha)<=$year GROUP BY claemp, claart"); /* foreach ($compras AS $compra) { //Esto funciona. echo $compra['claart']; echo "<br />"; } */ for ($compra=0; $compra <= $cantidad; $compra++) { //Esto no me funciona $claart = $compras[$compra]['claart']; $claemp = $compras[$compra]['claemp']; $cantidad = $compras[$compra]['cantidad']; $fecha = $compras[$compra]['fecha']; //echo "Artículo $claart claemp $claemp cantidad $cantidad fecha $fecha <br />"; //Esta línea anterior se imprime una y sólo una vez por cada bucle. 3 veces porque recorro años de 2011 hasta ahora } }
Quería hacerlo con FOR porque tengo entendido que el rendimiento es muy superior a foreach. Sin embargo foreach me gusta mucho porque me parece además de cómodo muy lógico.
Me está fallando el for y no se por qué. La cuestión es que cuando lo escribí la primera vez me iba perfectamente ahora solo me recorre una vez el for. No entiendo por qué
Más raro todavía. Con el for así me imprime los 60 mil holas:
Código PHP:
Ver original
for ($compra=0; $compra <= $cantidad; $compra++) { echo "hola <br />"; }
Pero así no. Solo lo hace 1 vez por cada año. 3 en total.
Código PHP:
Ver original
for ($compra=0; $compra <= $cantidad; $compra++) { $claart = $compras[$compra]['claart']; $claemp = $compras[$compra]['claemp']; $cantidad = $compras[$compra]['cantidad']; $fecha = $compras[$compra]['fecha']; echo "Artículo $claart claemp $claemp cantidad $cantidad fecha $fecha <br />"; }
No lo entiendo. Nada. Ya está, se puede cerrar. Llevaba mas de una hora con esto sin resultados. Estaba reescribiendo el valor de $cantidad. Mira que busqué y busqué precisamente buscando eso y no lo veía.
Un saludo.