Hola que tal???
Estoy trancada en un recorrido de arreglos, el problema es el siguiente:
- Debo colocar en una gráfica las horas trabajadas para proyectos y actividades en un período dado (fecha inicio y fecha final).
- Lo que hice fue encapsular ese rango dado por:
$encabezado= obtenerEncabezadosPronostico($fechaInicio, $fechaFinal);
-La salida de la función lo almaceno en variables respectivamente:
$semana= $encabezado[$i][0]; // semanaActual
$anio = $encabezado[$i][1]; // añoActual
-Ahora lo que estaba haciendo era obtener de otra función, las horas para los proyectos y las actividades.
$calculo = calcularHoras($tipo_grafico, $dis_select, $ofic_select, $fechaInicio, $fechaFinal);
$calculoP = $calculo[0];
$calculoA = $calculo[1];
-Lo que hago a continuación es imprimir las horas de los proyectos y actividades por semana del mes correspondiente a dicha asignación
Código PHP:
// contiene la semana y año de todos los valores entre la fecha inicio
// y fecha final para mostrar en la grafica los meses
$encabezado= obtenerEncabezadosPronostico($fechaInicio, $fechaFinal);
// imprime las horas de los proyectos y actividades
// por semana del mes correspondiente a dicha
// asignación
for ($i = 1; $i <= count($encabezado); $i++){
$semana= $encabezado[$i][0]; // semanaActual
$anio = $encabezado[$i][1]; // añoActua
$auxMes = obtenerNumMesDeSemana($semana, $anio);
$auxHP = $calculoP[$i]["Horas"]; // horas de Proyetos
$auxHA = $calculoA[$i]["Horas"]; // horas de Actividades
// escribo para cada iteración, el mes, las horas de proyectos y las horas de actividades
echo "<tr>";
echo "<th>$auxMes</th>";
echo "<td>$auxHP</td>";
echo "<td>$auxHA</td>";
echo "</tr>";
}
El problema, es que "explota" la variable $i, ya que el arreglo de calculoP puede ser menor que calculoA, y cuando en la BD no encuentre ningun valor, me devuelve que :
Notice: Undefined offset: 22 in C:\.....obtenerGrafico.php on line xxx y es justo donde
$auxHP = $calculoP[$i]["Horas"];
FECHA INICIO 07/2011 FECHA INICIO 09/2011
Mes Proyecto Actividad
07 18 8
07 22 40
08 46
09 25
He hecho la comparación dentro del
Código PHP:
if(($semana == $calculoP[$i]["Numero_Semana"]) && ($anio == $calculoP[$i]["Ano_Semana"]))
{
$auxHP = $calculoP[$i]["Horas"];
} else{
$auxHP=0;
}
Pero no me imprime los proyectos. La cuestión es que los arreglos de proyectos y actividades son distintos y cuando los sigo con la misma variable $i, "explota". Cómo haría mejor ese recorrido para que cumpla que el numero de la semana y el año de $encabezado coincida con cada uno de los arreglos????
Disculpen si les incomoda el largo de mi pregunta!