Salve, devo creare la stampa di alcuni dati provenienti dal database. Questi dati rappresentano l'occupazione nei diversi giorni di un certo impianto, e nel database si presentano così
codice_impianto, data_inizio, data_fine, codice_cliente
Ho creato una tabella con 31 caselle (come i giorni, 32 se si conta anche il nome dell'impianto) dove viene letto il record e vengono riempite le caselle corrispondenti.
Alla fine ho una cosa del genere: http://www.olgiatapark.com/gestional...ion=print&id=2
Vorrei però che le prenotazioni per lo stesso impianto vengano visualizzate su una stessa riga, quindi vorrei Box A01 vengano riempite le caselle 1,2,18,19,20 con i rispettivi codice_cliente. Come faccio?
Il codice è questo:
Codice PHP:
$query = "SELECT codice_impianto, data_inizio, data_fine, codice_cliente FROM $tablePrenotazioni WHERE azione = '1'";
$result = mysqli_query($mysqli_connect,$query);
$n = 0;
while ($row = mysqli_fetch_assoc($result))
{
$meseIn = substr($row['data_inizio'],3,2);
$meseFi = substr($row['data_fine'],3,2);
if($meseIn == $meseSel or $meseFi == $meseSel)
{
$inizio = substr($row['data_inizio'],0,2);
$fine = substr($row['data_fine'],0,2);
$impianto[$n] = $row['codice_impianto'];
//$cliente = $row['codice_cliente'];
$queryImp = "SELECT * FROM $tableImpianti WHERE codice = '$impianto[$n]'";
$resultImp = mysqli_query($mysqli_connect,$queryImp);
while ($rowImp = mysqli_fetch_assoc($resultImp))
{
$nomeImpianto[$n] = $rowImp['descrizione'];
}
for($i=1; $i<=31; ++$i)
{
if($i >= $inizio AND $i <= $fine)
{
$prenotazione[$i] = $row['codice_cliente'];
$tdP[$i] = "$prenotazione[$i]";
}
else
$tdP[$i] = "";
$tdG[$i] = "<td width='50px'>$i</td>";
}
$tr[$n] = "
<tr>
<td class='left' width='200px'>$nomeImpianto[$n]</td>
<td>$tdP[1]</td>
<!-- ... continua così fino... -->
<td>$tdP[31]</td>
</tr>
";
$trImp .= $tr[$n];
++$n;
}
}
Ho provato a inserire GROUP BY codice_impianto nella prima quary, ma viene visualizzata solo l'ultima riga.
Grazie a tutti per l'aiuto