ho fatto una tabella <table> nella cui prima riga sono presenti tutte le date del mese, una per ogni colonna;ho estrapolato con una query tutte le etichette delle attività le quali le devo inserire con una serie di cicli nella prima colonna e nel mezzo della tabella devo inserire i lavoratori. Credo di essere arrivato quasi al mio intento ma sono giorni che ci butto il sangue. Per uno esperto è sicuramente una sciocchezza ma per un neofita come in me nel php è un lavoro estenuante. Sono arrivato a livello logico dove voglio ma sul codice non riesco. ve lo posto senza la parte delle query magari qualcuno mi illumina con dei suggerimenti.
	Codice PHP:
	
  $i="0";    while ($row = mysqli_fetch_array($risultato)) {        $data[$i] = $row['turnazione_data'];        $lavoratore[$i] = $row['id_lavoratore'];         $ora[$i] = $row['id_orario_turno'];        $i++;    }//estrapolazione dati query in array con valori etichette turni 
    $i="0";    while ($row = mysqli_fetch_array($etichetta)) {        $baseore[$i] = $row['orturno_etichetta'];        $i++;    }
        //conteggio indici 
$contdata= count($data);$contlav = count($lavoratore);$contora = count($ora);$contetichetta = count($baseore);$giorno = "01";$mese = "01";$anno = "2019";$totgiornimese = date("t", strtotime($mese . "/" . $giorno . "/" . $anno));$z="0";//inizio tabellaecho "<table class='tab-turnazione'><tr><td> TURNI </td>";
//inizio ciclo data prima riga$prog ="0";for ($i="0"; $i < $totgiornimese; $i++ ){    echo "<td>" . date("d D", mktime(0,0,0,$mese, $giorno + $prog, $anno)) . "</td>";    $prog++;}echo "</tr>";$prog ="0";$bool="false";
//inizio ciclo prima colonna  etichettefor ($y="0"; $y < $contetichetta; $y++){    echo "<tr>";    echo "<td>" . $baseore[$y] . "</td>";    $check_etichetta = $baseore [$y];//inizio ciclo date da indice 0 a tot giorni mese        for($j="0"; $totgiornimese >= $j; $j++){            $datatop = date("Y/m/d", mktime(0,0,0,$mese, $giorno + $prog, $anno));//inizio ciclo da indice 0 a tot lavoratori                for($x="0"; $contlav > $x; $x++){                     if($ora[$x] == $check_etichetta){//inizo ciclo da indice 0 a tot lavoratori con operatore logico per controllo etichetta e data                        while(($z < $contlav) && ($bool = "false") ){                            $check_data = date("Y/m/d", strtotime($data[$z])); // da vedere                            if($check_data == $datatop){                                echo "<td>" . $lavoratore[$x] . "</td>";                                    $bool = "true";                                        $prog + 1;                                                            } else{                                $z++;                            }                    }                         $z="0";                } else {                   // $x++; //da verificare                }            }        $x="0";        }    $j++;    echo "</tr>";} ?> 
 
Presumo sia un problema di indici.