03/04/2026 - sihsandrea ha scritto:
Ma fa lacrimare...
Probabilmente hai ragione sul fatto che nn ti piaccia, ma io ho bisogno di vederla.
Mettiamo il caso che mi possa andare bene: le note possono essere meglio sistemate come riga a parte come mi hai suggerito,
ma per esempio sicuramente il valore del campo autista nei record multipli alla stesso modo del valore in id_master lo preferisco rappresentato in
una cella unita.
La situazione è questa:
Nelle parti in arancio cerco di farti capire le lacune che non riesco a colmare in ciò che cerco di capire.
...preparazione dell'intestazione delle tabelle.
while($row = $risultato_select->fetch_assoc()){
$dati_idmaster[$row['id_master']][] = $row;
}
//con il ciclo organizzo i dati che vengono prelevati dal database in una matrice e raggruppati secondo il valore in id_master. Giusto?
Per cui mi trovo per ogni valore letto in id_master un array con vari elementi a indice numerico [0][1][2], per ogni elemento di qeusto indice un array ho un array assicuativo con chiave (nome campo) =>valore (record)
foreach($dati_idmaster as $id_master => $righe){
$rowspan = count($righe);
$prima_riga = true;
//per ogni raggruppamento devo contare quante righe (elementi array) ci sono, per avere il valore da passare all'attributo rowspan Giuso ?
//Io non capisco dove inserire il codice per accorpare anche, per esempio, le celle dove appare il campo 'autista' e in che maniera, oltre a quelli già accorpati riferiti a id_master,
Cioe devo fare un altro foreach accanto a questo o dentro lo stesso ?
Potresti per cortesia farmi un esempio concreto su questo costrutto?
foreach($righe as $record){
$timestamp_data = strtotime($record["data"]);
$newdate = date('d / m / Y', $timestamp_data);
echo "<tr>";
if($prima_riga)
{
echo "<td class='id-reg' rowspan='$rowspan'>$id_master</td>";
$prima_riga = false;
}
echo "
<td>{$record['autista']}</td>
<td>{$record['id']}</td>
<td>{$record['stato']}</td>
<td>$newdate</td>
<td>{$record['tipologia']}</td>
<td>{$record['macchina']}</td>
<td>{$record['servizi_da_svolgere']}</td>";
echo "</tr>";
}