RESSOURCES 
 
Convertir des données CSV en tableau HTML
Sous licence GPL 11 septembre 2001
 
 


Une fonction PHP qui permet de convertir une chaîne comportant des délimitations en un tableau HTML. Les arguments de la fonction (passés en paramètres) sont les suivants: les données, le caractère de délimitation, le nombre de colonnes, l'en-tête de la ligne, et le style CSS du tableau.

<?php 
Function csv2table ($celldata, $delim, $numcols, $headerrow, $tablestyle) {
	// $celldata 	delimited data
	// $delim		delimiter
	// $numcols		number of columns in table
	// $headerrow	non-zero value will give <th></th> row
	// $tablestyle  anything you want included in the <TABLE> tag
	// 		Donncha Butler	-- 	Version 1.0
	
	echo "<TABLE $tablestyle>\n";
	$b = explode($delim, $celldata); 
	for ($i = 0; $i <= sizeof($b); $i++) {
	    $col = $i % $numcols;
	    $hrow = ($i < $numcols) && $headerrow ;
	    switch ($col){
	    	case 0:		
				echo "<TR>\n";
				if ($hrow) {
					echo "  <TH>\n"; 
				} else { 
					echo "  <TD class=tdinfo>\n"; 
				}
				echo $b[$i] . "\n";
				break;
			default:
				if ($hrow) {
		 	 		echo "	</TH>\n  <TH>\n"; 
		 	 	} else { 
		 	 		echo "	</TD>\n  <TD class=tdinfo>\n"; 
		 	 	}
		 		echo $b[$i] . "\n";
		}
		if($col == $numcols - 1) { 
			if ($hrow) {
	 	 		echo "	</TH>\n</TR>\n"; 
	 	 	} else {
				echo "	</TD>\n</TR>\n"; 
			}
		}	 
	}
	echo "</TABLE>\n";
}

//Example		
$a = "
Air Line #,Function,Colour,Pressure,
21,Sealer down,Blue,6 bar,
22,Horizontal out,Green, 4 bar,
23,Sealer up,Red,3 bar,
24,Horizontal in,White,5 bar,
";

$style = "BORDER=\"1\" CELLSPACING=\"4\" CELLPADDING=\"4\" WIDTH=\"600\"";
csv2table ($a, ",", 4, 1, $style);

?>
 
Accueil | Haut de page