1) Alternance de couleurs dans un tableau
posté par Yves Maistriaux (ID : 75)
Une simple boucle avec un modulo sur un array contenant les couleurs des lignes et une table.
<?php
$couleurs = array('#ff0000', '#ffffcc', '#00ff00', '#0000ff');
$nb = count($couleurs);
echo '<table style="border:1px solid;width:200px;">';
$i =0;
for($a=0;$a<12;$a++) {
echo '<tr style="background-color:',$couleurs[ $i % $nb ],';"><td>',$couleurs[ $i % $nb ],'</td></tr>';
$i++;
}
echo '</table>';
?>
2) Alternance de couleurs dans un tableau V2
posté par Yves Maistriaux (ID : 76)
Une autre version, une autre forme avec des div.
A étudier !
<?php
$couleurs = array('#ff0000', '#ffffcc', '#00ff00', '#0000ff');
$i =0;
for($a=0;$a<12;$a++)
{
if( $i % 3 === 0 ) echo '<br style="clear:both;" />';
if($i/3 % 2 ){
echo '<div style="border:1px solid;width:200px;background-color:',$couleurs[0],';">Mon texte</div>';
}
else
{
echo '<div style="border:1px solid;width:200px;background-color:',$couleurs[1],';">Mon autre texte</div>';
}
$i++;
}
?>
3) Alternance de couleurs dans un tableau V3
posté par Yves Maistriaux (ID : 77)
Alterner simplement deux couleurs... sans modulo, rien qu'avec des maths !
<?php
$couleurs = array('#ff0000','#ffcc00');
$i = 0;
for($a=0;$a<10;$a++)
{
echo '<span style="background:',$couleurs[$i],';">Ma ligne couleur ',$i,'</span><br />';
$i=1-$i;
}
?>
4) Affichage sur n colonnes
posté par Yves Maistriaux (ID : 78)
Une version d'affichage de tableau sur n colonnes.
L'exemple n'est donné que pour vous montrer le principe de l'algo. A vous d'adapter à votre situation.
<?php
$nb_img=51; //nombre d'images d'un dossier par exemple
$nb_col=5; // nombres de colonnes souhaitées
// on calcule s'il y a un reste de division
$reste=$nb_img-floor($nb_img/$nb_col)*$nb_col;
$ferme_td=$nb_col-$reste;
// on démarre l'affichage
echo '<table border="1"><tr>';
for($i=1;$i<=$nb_img;$i++){
echo '<td>'.$i.'</td>';
if($i%$nb_col==0) {
echo '</tr>';
}
}
// on pourrait s'arrêter ici, mais s'il la division n'est pas juste, on va se retrouver avec des <td></td> manquants.
// Donc on boucle pour fermer correctement le dernier <tr>
if($reste>0){
for($j=0;$j<$ferme_td;$j++){
echo '<td>F</td>';
}
echo '</tr>';
}
// on ferme la table
echo '</table>';
?>
5) Affichage sur n colonnes (autre version)
posté par Yves Maistriaux (ID : 79)
Une autre méthode à adapter à vos besoins.
<?php
//--- une requête en exemple ---//
$truc = "blabla";
$req = "select champ1,champ2 from $table where bazar='".$truc."' order by champ1 asc";
//--- Résultat ---//
$res = mysql_query($req);
while($data = mysql_fetch_assoc($res))
{
$tablo[]=$data; //--- mettre les données dans un tableau
}
$nbcol=2; //--- détermine le nombre de colonnes
echo '<table>';
$nb=count($tablo);
for($i=0;$i<$nb;$i++){
//--- les valeurs que l'on souhaite afficher
$valeur1=$tablo[$i]['champ1'];
$valeur2=$tablo[$i]['champ2'];
if($i%$nbcol==0)
echo '<tr>';
echo '<td>',$valeur1,'<br/>',$valeur2,'</td>';
if($i%$nbcol==($nbcol-1))
echo '</tr>';
}
echo '</table>';
?>
6) Affichage de pourcentage sans GD (graphique)
posté par Yves Maistriaux (ID : 101)
Grâce à cette portion, réalisez un affichage graphique sans utiliser la librairie GD
Créez-vous une simple image (en rouge par exemple) de 1 pixels en gif et nommez-la : pourcent1.gif.
Les données, ici, dans un tableau, peuvent très bien provenir d'une table dans le résultat d'un select, d'un count, etc...
Vous avez tout le loisir de transformer cette portion en fonction pour un usage répétitif.
<table>
<tr><td>Catégorie</td><td>Pourcentage</td><td>Echelle %</td></tr>
<?php
$fruit=array(
'pomme'=>46,
'banane'=>15,
'poire'=>33,
'abricot'=>27,
'kiwi'=>8
);
$total=array_sum($fruit);
foreach($fruit as $key=>$val)
{
$pourcent = number_format(($val*100)/$total, 2, ',', ' ');
$echelle = floor($pourcent)*4;
echo '<tr><td>',ucfirst($key),'</td><td>',$pourcent,'%</td>
<td style="width:400px;height:20px;">
<img src="pourcent1.gif" style="width:',$echelle,'px;height:10px;">
</td></tr>';
}
?>
</table>
7) Affichage sur n colonnes... version 3
posté par Yves Maistriaux (ID : 113)
Encore un affichage sur n colonnes.
Un table contenant par exemple des départements
L'exemple se base sur les résultats d'une requête dans un while.
<?php
$req="select id,dep from departement";
$res=mysql_query($req);
echo'<table border="1">';
$i=0;
while ($data=mysql_fetch_assoc($res))
{
if($i++%2==0){
echo '<tr><td>'.$data['dep'].'</td>';
}
else
{
echo '<td>'.$data['dep'].'</td></tr>';
}
}
if($i%2!=0){
echo '<td>Vide</td></tr>';
}
echo'</table>';
?>
8) Affichage sur n colonnes... version 4
posté par Yves Maistriaux (ID : 125)
Encore et toujours un affichage sur n colonnes utilisant le modulo.
A vous de tester !
<?php
$nb_img=12;
$nb_col=3;
echo '<table border="1"><tr>';
for($i=1;$i<=$nb_img;$i++)
{
echo '<td>'.$i.'</td>';
if($i%$nb_col==0) {
echo '</tr>';
if($i<$nb_img)
{
echo '<tr>';
}
}
}
echo '</table>';
?>
9) Affichage sur n colonnes... version 5
posté par Yves Maistriaux (ID : 126)
Encore et toujours le modulo...
Il y a des dizaines de possibilités, des dizaines d'options...
<?php
$nb_lignes='5';
$nb_colonnes='3';
echo '<table style="border:1px solid;">';
for ($i=1; $i<=$nb_lignes; $i++)
{
echo '<tr>';
for ($j=1; $j<=$nb_colonnes; $j++)
{
echo '<td style="border:1px solid;">Colonne ',$j,' Case',$i,'</td>';
}
echo '</tr>';
}
echo '</table>';
?>