Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/08/2011, 07:06
Avatar de eliza_ralves
eliza_ralves
 
Fecha de Ingreso: junio-2009
Ubicación: Caracas
Mensajes: 126
Antigüedad: 15 años, 4 meses
Puntos: 2
Optimizar el recorrido de un Arrays PHP

hola, que tal? Espero que todos estén bien. Escribo para ver si me pueden ayudar en este problema.

El problema es que necesito representar los resultados de dos arreglos, esté me lo hace pero hay un detalle, cuando el valor del mismo tiene valor cero, no me lo representa, y justo cuando haya un valor distinto de cero me lo "pega" cuando no debería.

Si no se me ha entendido bien, le va la descrición gráfica:

1.- tengo un rango de fechas : fecha inicio 2/08/2011 y fecha final 25/11/2011
2.- Desde el 2/08/2011 al 7/09/2011 tengo asignados valores distintos de cero.
3.- Desde el 8/09/2011 al 10/10/2011 tengo valores igual a cero (que se tienen que representar)
4.- Desde el 11/10/2011 al 25/11/2011 hay valores distintos de cero.

Lo que me hace en esto momentos, es obviarme el rango donde el valor es distinto de cero, y lo que hace es empatar la fecha del 7/09/2011 con la del 08/09/2011, cosa que no debería.

Hice el esfuerzo de darle miles de vueltas al asunto... pero no logro solventarlo. el código es el siguiente:

Código PHP:
<?php

/**
* Obtención de las Horas/Hombre para los Proyectos y Actividades , además 
* de definir los elementos a evaluar dichas horas (Proyecto y Actividad)
 */
        
$calculo calcularHoras($tipo_grafico$dis_select$ofic_select$fechaInicio$fechaFinal$rango);
        
$calculoP $calculo[0];
        
$calculoA  $calculo[1]; 

/**
*  $encabezado 
* Generación del los meses y el año correspondiente, de todos 
* los elementos contenidos dentro del rango de fechas para 
* visualizarlo en el gráfico 
 */
$encabezadoobtenerEncabezadosGrafico($fechaInicio$fechaFinal);

/*
* Recorrido para la visualización de los elementos contenidos 
* dentro del rango de fechas para visualizarlo en el gráfico 
*/
 
for ($i 1$i <= count($encabezado); $i++){ 

    
/**
      * $auxM
      * Variable que contendrá el Mes
      */
      
$auxM $encabezado[$i][0];
                                        
     
/**
      * $anio
      * Variable que contendrá el Año
      */                                        
       
$anio $encabezado[$i][1];
 
    
/** 
     *  $auxHP 
     * Horas/Hombre de Proyectos
      * Si en el recorrido del arreglo de proyectos posee valor, 
      * se asigna las horas a dichos proyectos. Sino posee valor,
      * se le asigna valor "cero" a las horas correspondiente al mismo
      */
          
if (isset($calculoP[$i]) && isset($calculoP[$i]["Horas"]))
                
$auxHP$calculoP[$i]["Horas"];
          else
               
$auxHP 0;
                                    
      
/** 
       *  $auxHA 
       * Horas/Hombre de Actividades
       * Si en el recorrido del arreglo de actividades posee valor, 
       * se asigna las horas a dichas actividades. Sino posee valor,
       * se le asigna valor "cero" a las horas correspondiente al mismo
       */
           
if (isset($calculoA[$i]) && isset($calculoA[$i]["Horas"]))
                 
$auxHA$calculoA[$i]["Horas"];
           else
                  
$auxHA0;
?>
Código HTML:
 <tr>
      <th><?php echo $auxM; ?></th>
      <td><?php echo $auxHP; ?></td>
      <td><?php echo $auxHA; ?></td>
      </tr> 
Código PHP:
<?php
     
//cierre del for
 
?>
Espero alguien me pueda ayudar a resolver este problema.

GRACIAS!

PD: cuando llamo a la función "calcularHoras" obtengo todos las horas dentro de un rango y el filtrado de datos correspondiente desde la BD, y la graficación es por meses.
__________________
“El mayor enemigo del conocimiento no es la ignorancia, sino la ilusión del conocimiento”— Stephen Hawking