Couleur suivant grade

ViPHP
ViPHP | 2291 Messages

27 avr. 2009, 20:24

Bonjour,
Je crée actuellement un forum et tout fonctionne nickel, mais je but sur un truc je ne voie pas comment faire pour attribuer une couleur différente suivant le grade.
Bien entendu je pourrais le faire à l'affichage mais j'ai pas dutout envie de refiare mes pages :twisted:
y aurait-il un moyen de le faire autrement, a partir de la connexion par exemple :?:

D'avance merci

ViPHP
AB
ViPHP | 5818 Messages

27 avr. 2009, 20:31

Peut-être avec CSS en utilisant le background ?

ViPHP
ViPHP | 2287 Messages

27 avr. 2009, 20:35

Je crée actuellement un forum et tout fonctionne nickel, mais je but sur un truc je ne voie pas comment faire pour attribuer une couleur différente suivant le grade.
Bien entendu je pourrais le faire à l'affichage mais j'ai pas dutout envie de refiare mes pages :twisted:
y aurait-il un moyen de le faire autrement, a partir de la connexion par exemple :?:
Je ne comprends pas ton problème ni ton idée...

Ce qui est certain, c'est que le changement de couleur se produit chez le client, ce qui t'amène forcément à une solution basée sur html-css (le plus simple et logique), comme AB le suggère, et/ou javascript (si tu n'as pas envie de modifier ce qui existe déjà, ça peut être une piste).
if(!@work()){ Nespresso(); } else { what(); }
______________________________

ViPHP
ViPHP | 2291 Messages

27 avr. 2009, 20:38

Je me suis mal expliquer.
Il y a des membres suivant le grade du membre je voudrais lui attribuer une couleur simplement
Avec du css je ne voie pas comment il va savoir que dunbar est admin (donc dunbar en rouge par exemple) :wink: et AB simple membre et (AB en jaune par exemple) :wink:

ViPHP
AB
ViPHP | 5818 Messages

27 avr. 2009, 20:52

Je pensais à du css dynamique qui change suivant la valeur d'une variable php :wink: ou comme le suggère Calimero tu peux modifier le style via javascript toujours en fonction d'une variable php.
C'est à toi de juger le plus simple en fonction de ton code.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 avr. 2009, 23:04

Avec du css je ne voie pas comment il va savoir que dunbar est admin (donc dunbar en rouge par exemple) :wink: et AB simple membre et (AB en jaune par exemple) :wink:
Et toi comment tu le sais ?
Et tu peux pas utiliser le critère qui te permet de le savoir pour mettre en couleur ton pseudo ?

Le plus simple serait peut être simplement de mettre un span ou autre autour de chacun des pseudos que tu affiches avec une classe correspondant à la catégorie de l'utilisateur :

Code : Tout sélectionner

<span class="admin">dunbar</span> <span class="chepakoi">robert</span> ...
Et tu définis ensuite une classe css pour chaque catégorie

Code : Tout sélectionner

.admin { background-color: red; } .chepakoi { background-color: greenWithPinkDotsAndYellowStripes; }
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 2291 Messages

28 avr. 2009, 16:06

Et toi comment tu le sais ?
:arrow: Via le rang du pseudo :langue:
Et tu peux pas utiliser le critère qui te permet de le savoir pour mettre en couleur ton pseudo ?
:arrow: Bin oui mais justement c'est là que je plante, comme tout mon html est déjà fait j'essaye de trouver un système dés la connexion (pour faire travailler mon serveur et pas moi). :?
Dans un MySQL il est impossible de placer un champ en couleur j'imagine :-k

Donc finalement je pense que je vais devoir revoir mon html et mettre en place vos propositions (CSS) :gla:

Merci.

ViPHP
AB
ViPHP | 5818 Messages

28 avr. 2009, 16:20

Dans un MySQL il est impossible de placer un champ en couleur j'imagine :-k

Merci.
Dans mysql tu peux mettre par exemple un champ "etat" que tu rempliras par une valeur numérique et qui t'indiquera l'appartenance de l'utilisateur à telle ou telle classe.
Tu récupères ce champ en même temps que le pseudo et le tour est joué.

EDIT : Tu pourrais mettre directement le nom de ta class CSS dans ce champs mais pour des raisons de souplesse je préfère faire la correspondance en php.
En admettant que tu attribues 0 pour visiteur, 1 pour modérateur et 2 pour administrateur, si le résultat associatif de ta requête se trouve dans $resultat il te suffira de faire
switch ($resultat['etat']) {

	case 0 : $classe = 'visiteur';break;
	case 1 : $classe = 'moderateur';break;	
	case 2 : $classe = 'administrateur';break;
	default : $classe = 'visiteur';	

}

echo '<span class="'.$classe.'">'.htmlspecialchars($resultat['login']).'</span>';
Ensuite il ne te reste plus qu'à faire ton css correspondant par exemple

Code : Tout sélectionner

.visiteur { background:green; } .moderateur { background:red; } .administrateur { background:yellow; }

ViPHP
ViPHP | 2291 Messages

29 avr. 2009, 23:57

Ok je vais faire ça.
Merci :lol: