In questo articolo vedremo come è possibile creare una tabella HTML di dati ottenuti da un array PHP, con lo stesso numero di colonne per ogni riga.
Partiamo dalla definizione di un array PHP con un certo numero di elementi:
Codice PHP
<?php
$array = range(1, 23);
ho usato la funzione range() per generare un array di esempio costituito da un numero di elementi che va da 1 a 23, e per esempio vogliamo visualizzare 5 elementi dell'array per ogni riga della tabella.
Adesso tramite il foreach otteniamo i dati di questo array appena creato:
Codice PHP
<?php
$array = range(1, 23);
$index = 1;
?>
<table>
<tr>
<?php
foreach ($array as $value) {
if (!(($index++) % 5)) {
echo "<td>$value</td></tr><tr>";
} else {
echo "<td>$value</td>";
}
}
?>
</tr>
</table>
la variabile $index è uguale a 1, poichè 1 è un numero primo divisibile solo per l'unità e per se stesso, tale variabile viene incrementata al ogni ciclo ($index++), con l'espressione !(($index++) % 5) indico se il valore attuale di $index è divisibile per 5, in tal caso chiudo la riga </tr> e ne riapro una nuova <tr>, questo permette di creare 5 colonne per ogni riga della tabella
Codice HTML
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
<tr>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
</tr>
<tr>
<td>11</td>
<td>12</td>
<td>13</td>
<td>14</td>
<td>15</td>
</tr>
<tr>
<td>16</td>
<td>17</td>
<td>18</td>
<td>19</td>
<td>20</td>
</tr>
<tr>
<td>21</td>
<td>22</td>
<td>23</td>
</tr>
</table>
questa è l'anteprima:
1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 |