Visualizza un numero definito di elementi di un array PHP per riga in una tabella HTML

Generiamo un array PHP in modo dinamico e visualizziamo i dati in una tabella HTML con lo stesso numero di valori per ogni riga

Pubblicato da ,
Ultima modifica

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:

12345
678910
1112131415
1617181920
212223