Une couleur d'arrière plan qui change selon l'id en php

Signaler
Messages postés
108
Date d'inscription
mardi 1 septembre 2015
Statut
Membre
Dernière intervention
14 juin 2021
-
Messages postés
108
Date d'inscription
mardi 1 septembre 2015
Statut
Membre
Dernière intervention
14 juin 2021
-
Bonjour,

Mon code php affiche les lignes des utilisateurs, chaque utilisateur a un id (nombre) :

boucle :

echo '<class style="background-color:"> id utilisateur : '.$info["id"].', nom :'.$info["nom"].'</class>';

fin boucle


ce que je veux est que le background color change selon $info["id"], genre Josef aura toujours la couleur jaune, olivier aura toujours la couleur grise etc ...
Les couleurs ne m'intéressent pas donc quelque soit la couleur, il faut juste qu'elle soit unique à tel ou tel utilisateur.
Merci.


Configuration: Windows / Chrome 90.0.4430.212

2 réponses

Messages postés
32986
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2021
3 562
Bonjour,

Si tu veux qu'elle soit unique et "permanente" pour chaque utilisateur, tu devrais ajouter un champ dans la table de tes user et y stocker la couleur qui lui est propre.
A la création d'un user, tu génère une couleur ( par exemple à l'aide d'un code de ce genre )
function randomColor(){
    $result = array('rgb' => '', 'hex' => '');
    foreach(array('r', 'b', 'g') as $col){
        $rand = mt_rand(0, 255);
        $result['rgb'][$col] = $rand;
        $dechex = dechex($rand);
        if(strlen($dechex) < 2){
            $dechex = '0' . $dechex;
        }
        $result['hex'] .= $dechex;
    }
    return $result;
}

$myColor = randomColor();

Tu vérifies en bdd qu'elle n'est pas déjà utilisée... sinon tu demandes une nouvelle couleur ( jusqu'à en trouver une non utilisée )
puis tu la sauvegarde pour ton user.


Messages postés
108
Date d'inscription
mardi 1 septembre 2015
Statut
Membre
Dernière intervention
14 juin 2021

Merci pour votre réponse, non je souhaite juste dans une seule page, afin que j'aperçois que l'utilisateur est différent genre j'ai par exemple cette liste :

Josef
Josef
Josef
Josef
Olivier
Josef
Josef
Olivier
Olivier
Josef
Josef
Josef

Je souhaite que toutes les lignes de josef soit de même couleur et celle d'Olivier de même couleur mais différente de Josef, même si les couleurs changent après chaque chargement.
Messages postés
32986
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2021
3 562 >
Messages postés
108
Date d'inscription
mardi 1 septembre 2015
Statut
Membre
Dernière intervention
14 juin 2021

Tu auras plus de deux utilisateurs ?

Pourquoi ne génères tu pas la couleur au moment ou tu récupères les infos ?
(donc avant ta boucle...)
et tu rajoute l'info dans les données que tu envoies dans ta boucle..
Messages postés
108
Date d'inscription
mardi 1 septembre 2015
Statut
Membre
Dernière intervention
14 juin 2021

ah d'accord je vais essayer :) merci