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

Fermé
admindunet Messages postés 134 Date d'inscription mardi 1 septembre 2015 Statut Membre Dernière intervention 12 mars 2023 - 21 mai 2021 à 14:32
admindunet Messages postés 134 Date d'inscription mardi 1 septembre 2015 Statut Membre Dernière intervention 12 mars 2023 - 22 mai 2021 à 12:45
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

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
21 mai 2021 à 15:16
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.


0
admindunet Messages postés 134 Date d'inscription mardi 1 septembre 2015 Statut Membre Dernière intervention 12 mars 2023 1
21 mai 2021 à 17:50
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.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > admindunet Messages postés 134 Date d'inscription mardi 1 septembre 2015 Statut Membre Dernière intervention 12 mars 2023
21 mai 2021 à 17:57
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..
0
admindunet Messages postés 134 Date d'inscription mardi 1 septembre 2015 Statut Membre Dernière intervention 12 mars 2023 1
22 mai 2021 à 12:45
ah d'accord je vais essayer :) merci
0