Page 1 sur 1

Couleur suivant grade

Posté : 27 avr. 2009, 20:24
par dunbar
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

Re: Couleur suivant grade

Posté : 27 avr. 2009, 20:31
par AB
Peut-être avec CSS en utilisant le background ?

Re: Couleur suivant grade

Posté : 27 avr. 2009, 20:35
par Calimero
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).

Posté : 27 avr. 2009, 20:38
par dunbar
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:

Posté : 27 avr. 2009, 20:52
par AB
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.

Posté : 27 avr. 2009, 23:04
par Ryle
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; }

Posté : 28 avr. 2009, 16:06
par dunbar
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.

Posté : 28 avr. 2009, 16:20
par AB
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; }

Posté : 29 avr. 2009, 23:57
par dunbar
Ok je vais faire ça.
Merci :lol: