8721 sujets

Développement web côté serveur, CMS

Bonjour a tous donc voilà je rencontre un petit problème j'ai téléchargé un cms Woopress et je voudrais sur la partie forum qu'il affiche les groupes en couleur , à partir de l'administration je peut ajouter un groupe pour les types d'utilisateur avec la couleur pour sa pas de problème , mais en bas de la page du forum il n'a pas les légende qui s'affiche donc je le fessai manuellement comme ceci

//mon code legende
        $page_texte .= "<tr>";
        $page_texte .= "<td align=\"center\" style=\"padding:10px 0 10px 0\">";
        $page_texte .= "<b>Legende </b>";
        $page_texte .= "</td>";
        $page_texte .= "<td>";
        $page_texte .= "<center><span style=\"color:#ff0000\">Administrateur</span> - <span style=\"color:#0000FF\">Modérateur</span> - <span style=\"color:#009900\">Membre</span> - V.I.P - Visiteur</center>";
         
        $page_texte .= "</td>";
        $page_texte .= "</tr>";
        //Fin de mon code legende


Mais je voudrais que ça l'affiche automatiquement quand je rajoute un groupe dans l'administration voici ma base sql

CREATE TABLE IF NOT EXISTS `woo_groupes` (
  `groupe_id` smallint(3) unsigned NOT NULL auto_increment,
  `groupe_nom` varchar(50) NOT NULL,
  `groupe_modo` int(9) unsigned NOT NULL,
  `groupe_couleur` varchar(15) NOT NULL default '',
  `groupe_nbrmp` mediumint(6) NOT NULL default '100',
  PRIMARY KEY  (`groupe_id`),
  UNIQUE KEY `nom` (`groupe_nom`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
 
--
-- Contenu de la table `woo_groupes`
--
 
INSERT INTO `woo_groupes` (`groupe_id`, `groupe_nom`, `groupe_modo`, `groupe_couleur`, `groupe_nbrmp`) VALUES
(1, 'Visiteur', 0, '', 100),
(2, 'Membre', 0, 'bleu', 100),
(3, 'Administrateur', 0, 'rouge', 100);


si quelqu'un pouvait m'expliquer comment réaliser mon projet serait sympa de sa part merci d'avance a vous tous
la couleur dans la table en code hexadécimal ou en code couleur anglais (red, blue, crimson,...)

Puis faut s'arranger pour récupérer le contenu de la table et construire ta ligne en gros ainsi :

$page_texte.="<center>"; //Bouhhh, pas bien center, mais bon, passons
$i=0;
while($array=mysqli_fetch_assoc()) //ou en fait n'importe quoi qui te permet de parcourir tes résultats, je sais pas comment wp gère ça
{
      if(0!=$i){$page_texte=" - ";}
      $page_texte="<span style=\"color:#".$array['groupe_couleur']."\">".$array['groupe_nom']."</span>";
       $i++;
}
$page_texte.="</center>";


Après, faut adapter à la syntaxe de wordpress, à laquelle j'y connais rien, mais t'as déjà le principe ^^
Modifié par Lothindil (06 Nov 2013 - 11:51)
Bonjour,

Ce que tu demandes n'as pas l'air trop compliqué, bien que je n'ai jamais eu l'occasion d'utiliser wordpress. Tout d'abord, je pense que tu dois insérer dans ta base directement le code couleur de la couleur, et non pas son nom ('#ff0000' au lieu de 'rouge').

Ensuite, au moment de générer ta légende en base de page, tu fais une requête select qui va te ramener chacun des noms des groupes (Administrateur, Membre, etc.) et leur couleur associée (#ff0000, #009900, etc.).

Il ne te reste plus ensuite qu'à faire un foreach, et c'est gagné Smiley smile
Bon courage