Vendre, Acheter, Echanger
|
|
|
|
|
Afficher des données dans un tableau paramétrable avec PHP
Exemple
Nb valeurs = 31
Nb Lignes = 11
Nb Colonnes = 3
Affichage = VERTICAL
Completer = OUI
2 | 29 | 57 |
5 | 31 | 58 |
9 | 32 | 59 |
13 | 35 | 62 |
15 | 37 | 64 |
17 | 39 | 66 |
18 | 43 | 68 |
19 | 48 | 70 |
23 | 49 | 73 |
24 | 52 | |
27 | 55 | |
Code PHP
pour télécharger, cliquez ici
Code associé
<?php
// ------------------------------------------------------------------------- // // Afficher des données dans un tableau paramétrable : en nb de colonnes ou // // en nb de lignes, et en orientation (de la gauche vers la droite ou du // // haut vers le bas. // // ------------------------------------------------------------------------- // // Auteur: J-Pierre DEZELUS // // Email: jpdezelus@phpinfo.net // // Web: http://www.phpinfo.net/ // // ------------------------------------------------------------------------- //
// mettre à zéro si calcul automatique à partir de nbcol if (!isset($nblig)) $nblig = 0;
// mettre à zéro si calcul automatique à partir de nblig if (!isset($nbcol)) $nbcol = 3;
// dessiner les cellules ne contenant pas de valeurs en fin de tableau if (!isset($completer)) $completer = 1;
// 1 => du haut vers le bas puis de la gauche vers la droite // 0 => de la gauche vers la droite puis du haut vers le bas if (!isset($vertical)) $vertical = 1;
// récupération des n valeurs dans $tValeurs[] // ... // ...
// Exemple de valeurs $tValeurs = Array(2, 5, 9, 13, 15, 17, 18, 19, 23, 24, 27, 29, 31, 32, 35, 37, 39, 43, 48, 49, 52, 55, 57, 58, 59, 62, 64, 66, 68, 70, 73);
$nb_total = sizeof($tValeurs);
// calcul des limites if ($nblig != 0) { $nbcol = ceil($nb_total / $nblig); } elseif ($nbcol != 0) { $nblig = ceil($nb_total / $nbcol); } else { echo "Nb de lignes et Nb de colonnes indéfinis !"; exit; }
echo "<PRE>"; echo "Nb valeurs = ".$nb_total."\n\n"; echo "Nb Lignes = ".$nblig."\n"; echo "Nb Colonnes = ".$nbcol."\n\n"; echo "Affichage = ".($vertical ? 'VERTICAL' : 'HORIZONTAL')."\n"; echo "Completer = ".($completer ? 'OUI' : 'NON'); echo "</PRE>\n";
echo "<TABLE CELLSPACING=1>\n\n";
$limite = $completer ? $nbcol*$nblig : $nb_total;
if ($vertical) { // affichage vertical for ($cpt = 0; $cpt < $limite; $cpt++) { $col = (int)($cpt / $nblig) + 1;
$lig = ($cpt % $nblig) + 1;
$valeur = ($cpt < $nb_total) ? $tValeurs[$cpt] : ''; if ($col == 1) $ligne[$lig] = "<TR BGCOLOR='#DADADA'>"; $ligne[$lig] .= "<TD> ".$valeur." </TD>"; if ($col == $nbcol) $ligne[$lig] .= "</TR>\n\n"; } for ($cpt = 1; $cpt <= sizeof($ligne); $cpt++) { echo $ligne[$cpt]; } } else { // affichage horizontal for ($cpt = 0; $cpt < $limite; $cpt++) { $col = ($cpt % $nbcol) + 1;
$valeur = ($cpt < $nb_total) ? $tValeurs[$cpt] : '';
if ($col == 1) echo "<TR BGCOLOR='#DADADA'>"; echo "<TD> ".$valeur." </TD>"; if ($col == $nbcol) echo "</TR>\n\n"; } } echo "</TABLE>\n";
?>
|
 |
|
|