Affichage d'un tableau html à partir d'un array

Contenu du snippet

C'est une fonction qui permet de générer un tableau HTML à partir d'un array passé en paramètre. Elle gère également les array multidimensions. La définition de la présentation du tableau est possible.

Source / Exemple :


<?php
function create_table($tableau, $size, $text_align, $border_style, $border_width, $border_color, $background)
{
	$nblignes=count ($tableau); //On compte le nombre de lignes dans le tableau
	if ($nblignes!=0) { //Si il y a au moins une ligne alors on débutte le processus d'affichage

		$style="";  //Gestion des styles du tableau
		if ($size)  //taille du tableau
			$style.='width:'.$size.';';
		if ($text_align)    //Alignement du texte dans les cellules 
			$style.='text-align:'.$text_align.';';
		if ($border_style)  //Type de bordure
			$style.='border-style:'.$border_style.';';
		if ($border_width)  //Taille de bordure
			$style.='border-width:'.$border_width.';';
		if ($border_color)  //Couleur de bordure
			$style.='border-color:'.$border_color.';';
		if ($background)    //Couleur du background
			$style.='background:'.$background.';';

		echo "\r\n<table";
		if ($style) {    //Si un style est défini
			echo ' style="'.$style.'"';
		}
		echo ">\r\n";

		$i=0;    //Compteur de lignes
		while ($i!=$nblignes) { //Boucle qui affiche les lignes HTML
			echo "\t<tr>\r\n";  //Affichage de la ligne

			if (is_array ($tableau[$i])) {
				$nbcols=count ($tableau[$i]); //On récupère le nombre de colonnes
				$j=0; //Compteur de colonnes
				while ($j!=$nbcols) {    //Boucle qui affiche les colonnes
					echo "\t\t<td>".$tableau[$i][$j]."</td>\r\n";    //Affichage des colonnes
					$j++;
				}
			} else {
				echo "\t\t<td>".$tableau[$i]."</td>\r\n";    //Affichage des colonnes
			}

			echo "\t</tr>\r\n";
			$i++;
		}

		echo "</table>\r\n";
	}
}
?>

Conclusion :


Voilà un exemple pour tester la fonction :
$temp=array (array ("lig0 col0", "lig0 col1", "lig0 col2"), "lig1 col0", array ("lig2 col0", "lig2 col1"));
create_table ($temp, "720px", "center", "solid", "1px", "#000000", "#CCCCCC");

Je compte l'améliorer dans les possiblités d'affichages du tableau.
Je suis ouvert à toute remarque ou bug découvert :)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.