Soyez le premier à donner votre avis sur cette source.
Snippet vu 11 802 fois - Téléchargée 30 fois
<?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"; } } ?>
12 juil. 2004 à 23:26
ton code pourrait être utile pour un forum je pense.
Reste juste à le rendre compatible XHTML (commence par mettre le nom des balises en minuscules)
Par contre les fonctions ereg() étant assez gourmandes autant ne pas vérifier si le # est présent, tu mets directement ta couleur avec le # comme ça pas de # à rajouter, moins de code et plus de rapidité ;-)
Ce ne sont que des suggestions :-)
a ++
13 juil. 2004 à 07:56
Je ne savais pas que la casse des balises avait une importance dans la compatibilité du code. Je vais changer ça :-)
Pour la fonction ereg, effectivement ça me semblait un peu lourd mais en même temps je souhaitait faire une fonction relativement souple pour le codeur qui l'utilise.
Mais bon, comme tu dis, ce sera plus rapide sans. Il suffit de faire attention à bien passer les paramètres comme il faut.
Merci pour tes suggestions et tes conseils, je vais mettre à jour tout ça ;-)
@+
13 juil. 2004 à 07:59
Bien vu ;-)
13 juil. 2004 à 09:30
Tu peux aussi enlever tous les eregs qui contrôlent les divers pourcentages et alignements, il suffit d'entrer les paramètres correctement dans la fonction. Compares ensuite les deux temps de génération :-)
Et pour accélérer vraiment mais moins qu'un cheveu lol tu peux remplacer les doubles quotes des echo " " par des simples quotes (seulement les echo qui ne contiennent pas les caractères \r\n ou \t\t car ces caractères de retour chariot, retour à la ligne et tabulation ne seront pas interprétés entre les simple quotes, alors qu'entre les doubles quotes ils modifieront le code source final.
Donc quelques echo ou variables à modifier :
$style.='width:'.$size.';';
$style.='text-align:'.$text_align.';';
$style.='border-style:'.$border_style.';';
$style.='border-width:'.$border_width.';';
$style.='border-color:'.$border_color.';';
$style.='background:'.$background.';';
a ++
13 juil. 2004 à 09:31
Tu peux aussi enlever tous les eregs qui contrôlent les divers pourcentages et alignements, il suffit d'entrer les paramètres correctement dans la fonction. Compares ensuite les deux temps de génération :-)
Et pour accélérer vraiment mais moins qu'un cheveu lol tu peux remplacer les doubles quotes des echo " " par des simples quotes (seulement les echo qui ne contiennent pas les caractères \r\n ou \t\t car ces caractères de retour chariot, retour à la ligne et tabulation ne seront pas interprétés entre les simple quotes, alors qu'entre les doubles quotes ils modifieront le code source final.
Donc quelques echo ou variables à modifier :
$style.='width:'.$size.';';
$style.='text-align:'.$text_align.';';
$style.='border-style:'.$border_style.';';
$style.='border-width:'.$border_width.';';
$style.='border-color:'.$border_color.';';
$style.='background:'.$background.';';
a ++
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.