Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
je liste une base de données et je souhaiterai qu'à chaque changement d'un élément, j'insère un saut de ligne supplémentaire ou un changement de couleur de police.
Ex. les 10 premières lignes comportent le champ toto, les 20 suivantes le champ titi. Donc je souhaiterai un saut de ligne ou un changement de couleur entre les 10 lignes toto et la suite ?
Auriez-vous une idée ?
Merci
Hors ligne
Saluton,
Ce que tu veux faire s'appelle, en algorithmique, une gestion de rupture.
Pour la mener à bien il te faut, en amont du parcours de résultat de ta requête, initialiser une variable (drapeau ou flag) à vide. Tu compareras la valeur à celle de la colonne censée changer, par ex: de la valeur '' vers la valeur 'titi' puis de la valeur 'titi' vers la valeur 'toto' etc. en affectant la nouvelle valeur au drapeau à chaque changement.
Bien sûr, cela n'a de sens que si la requête opère un ORDER BY sur cette colonne discriminante.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Merci de la réponse,
en effet, il s'agit bien d'une gestion de la rupture, je vais voir du coté de cette variable drapeau.
Mais si tu avais un modèle de script, je serai particulièrement preneur
Merci d'avance
Hors ligne
C'est vraiment de l'algorithmique de base :
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Merci de cette aide,
J'ai adopté la solution du comptage de rubrique, voilà un extrait de mon code qui sert à mettre un titre au dessus de chaque rupture et de colorer chaque ensemble de rubrique :
$count_develop = array();
$count_plan = array();
$count_local = array();
$count_develop[1] = mysql_numrows($develop);
$count_develop[2] = 'Développer la relation';
$count_plan[1] = mysql_numrows($plan);
$count_plan[2] = 'Plan de contact relationnel';
$count_local[1] = mysql_numrows($local);
$count_local[2] = 'Actions locales';
while ($array = mysql_fetch_assoc($query)) {
if ($array['famille']=="Développer la relation") {$color='#D5FFFF';}
elseif ($array['famille']=="Actions locales") {$color='#C5FFB1';}
else {$color='#FFFD7D';}
echo "<tr>";
echo "<td width=30%><font face=Arial size=1><strong>";
if ($i==$count_develop[1]+$count_plan[1]+1){echo "<font size=2 color=red>"; echo "Actions locales";echo "<br>";}
if ($i==$count_plan[1]+1){echo "<font size=2 color=red>"; echo "Développer la relation";echo "<br>";}
if ($i<2){echo "<font size=2 color=red>"; echo "Plan de contact relationnel";echo "<br>";}
echo "</td>";
echo "</tr>";
echo "<td bgcolor=$color width=30%><font face=Arial size=1><strong>";
if (preg_match("/p/",$indicatif)||preg_match("/P/",$indicatif)){
echo $array['LIBELLE_ACTION'];
}
else {
...
Hors ligne
grosse machinerie pour un crayon de couleur
a++
Hors ligne
Pages :: 1