-
rowspan in ciclo while
Ciao ragazzi, devo racchiudere in una tabella una cosa come 150 record e ho la necessità di creare una struttura simile:
https://i.postimg.cc/Kz9wMs9g/tabella-nuova.png
Il codice è questo:
Codice PHP:
<!-- Intestazione tabella elenco -->
<table align="center">
<tr>
<td>
TITOLO 1
</td>
<td>
TITOLO 2
</td>
<td>
TITOLO 3
</td>
<td>
TITOLO 4
</td>
</tr>
<?php while($record = site_query($result, 'fetch')) { ?>
<tr>
<!-- CAMPO 1 -->
<td rowspan="4" scope="col">
$id
</td>
<!-- CAMPO 2 -->
<td rowspan="4" scope="col">
$cliente
</td>
<!-- CAMPO 3-1 -->
<td scope="col">
$macchina
</td>
<!-- CAMPO 3-2 -->
<td scope="col">
$presso
</td>
<!-- CAMPO 3-3 -->
<td scope="col">
$luogo
</td>
<!-- CAMPO 3-4 -->
<td scope="col">
$eta
</td>
<!-- CAMPO 4 -->
<td rowspan="4" scope="col">
$colore
</td>
</tr>
<?php }//fine while ?>
Adesso, il primo risultato me lo stampa perfettamente
A partire dal secondo, la struttura sfalla in quanto il CAMPO 1 finisce all'interno della cella CAMPO 3-1 (e così via).
Sapete dirmi dove sbaglio e come posso risolvere?
-
Hai modo di indicare la pagina o il codice che viene generato?
Ciao!
-
L'errore è mettere un unico tag <tr> invece di quattro... se usa rowspan=4 significa che la cella del campo 1 deve occupare 4 righe.
Credo che il codice giusto dovrebbe essere così (a proposito, per le intestazioni delle colonne è più corretto usare <th> invece di <td>):
Codice HTML:
<!-- Intestazione tabella elenco -->
<table align="center" border=1>
<tr>
<th>TITOLO 1</th>
<th>TITOLO 2</th>
<th>TITOLO 3</th>
<th>TITOLO 4</th>
</tr>
<?php while($record = site_query($result, 'fetch')) :?>
<tr>
<!-- CAMPO 1 -->
<td rowspan="4" scope="col">
$id
</td>
<!-- CAMPO 2 -->
<td rowspan="4" scope="col">
$cliente
</td>
<!-- CAMPO 3-1 -->
<td scope="col">
$macchina
</td>
<!-- CAMPO 2 -->
<td rowspan="4" scope="col">
$colore
</td>
</tr>
<tr>
<!-- CAMPO 3-2 -->
<td scope="col">
$prezzo
</td>
</tr>
<tr>
<!-- CAMPO 3-3 -->
<td scope="col">
$luogo
</td>
</tr>
<tr>
<!-- CAMPO 3-4 -->
<td scope="col">
$eta
</td>
</tr>
<?php endwhile; ?>
</table>