Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/10/2012, 06:20
portela85
 
Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Generar tabla compleja

voy avanzando aunque todavía me queda un pelín... a ver si alguien me puede ayudar. Mi problema es al generar los arrays y compararlos. Por un lado tengo $cuenta_tareas que lo voy llenando al crear las cabeceras de la tabla
Código PHP:
    $cuenta_tareas=array();//array para guardar dias
    
$salida=''//salida
    
foreach($array2 as $k=>$v){//crear cabecera de dias
        
foreach($v as $clave=>$valor){
            if(!
in_array($clave,$cuenta_tareas)){//si no ha salido
                
$cuenta_tareas[]=$clave;//la guardamos en el array y la mostramos
                
$salida.="<th>".$clave."</th>";
            }
        }
    } 
si hago un var_dump el resultado es array(31) {
[0]=> int(2) [1]=> int(3) [2]=>int(4) [3]=> int(5) [4]=> int(6) [5]=> int(7) [6]=> int(8) [7]=> int(9) [8]=>int(10) [9]=> int(11) [10]=> int(12) [11]=> int(13) [12]=> int(14) [13]=> int(20) [14]=> int(21) [15]=> int(27) [16]=> int(28) [17]=>
int(19) [18]=> int(22) [19]=> int(23) [20]=> int(24) [21]=> int(25) [22]=> int(26) [23]=> int(29) [24]=> int(30) [25]=> int(31) [26]=> int(1) [27]=> int(15) [28]=> int(16) [29]=> int(17) [30]=> int(18)
}
el otro array me sacaría los días en los que los usuarios han accedido al sistema:
Código PHP:
$query3="SELECT DISTINCT trabajos.dia AS dia FROM trabajos INNER JOIN consultores ON trabajos.consultores_Ident_consultor = consultores.Ident_consultor WHERE mes = '$mes' AND ano = '$anos' AND (consultores.Ident_consultor) = '$consultor_no_report';";
    
$consulta = new Consulta($query3);
    
$array4=array();
    while(
$row_tabla $consulta->obtener_fila()) {//montar un array con el consultor como key
            
$array4[]=($row_tabla['dia']+0);
    } 
y con var_dump($array4) obtenemos
array(13) {
[0]=> int(5) [1]=> int(3) [2]=> int(2) [3]=> int(4) [4]=> int(1) [5]=> int(19) [6]=> int(12) [7]=> int(9) [8]=> int(11) [9]=> int(8) [10]=> int(10) [11]=> int(0)
[12]=>int(23) }

y después, usando in_array, quiero que me muestre un SI o un NO dependiendo de si $cuenta_tareas se encuentra en $array o no.
Código PHP:
            for($i=0;$i<count($cuenta_tareas);$i++){//recorre el array de cabeceras
        
                
if(in_array($cuenta_tareas[$i],$array4)){//si existe en la posicion actual mostramos el resultado
            
                        
$salida.="<td>SI</td>";
                    }else{
//si no existe ponemos celda vacía
                        
$salida.="<td>NO</td>";
        }
        
            } 
El resultado es siempre NO...Creo que el problema está al generar el array... ¿alguna otra idea?
Gracias