Demande d'aide PHP
- Accueil
- Forum
- Programmation
- PHP
- Demande d'aide PHP
TrecKo Le 5 mai 2016 à 20:15 (Édité le 25 janvier 2019 à 17:51)
Je vous explique mon problème, donc voilà j'ai un système d'article et de commentaires, les commentaires sont affichés en bas de l'article et j'aimerai que quand une personne gradé poste un commentaire la couleur de son pseudo soit orange et que quand c'est un utilisateur non gradé, le pseudo est gris.
Merci de votre compréhension.
MisterTakaashi Le 6 mai 2016 à 02:01 (Édité le 1 janvier 1970 à 01:00)
Dans dans premier temps, est ce que ta base de données contient un champs grade, rang ou quelque chose comme ça.
Si c'est le cas, pourquoi ne pas utiliser une petite ternaire:
<span class="rang <?= ($user->Rang == 99) ? "dev" : "" ?>"<?= $user->Pseudo ?></span>
Je ne connais pas ta structure après, je lance l'idée comme ça 😉
Cordialement,
MisterTakaashi
TrecKo Le 6 mai 2016 à 14:53 (Édité le 1 janvier 1970 à 01:00)
<?php if($user->rang == 3){ echo "Administrateur"; } if($user->rang == 2){ echo "Journaliste"; } if($user->rang == 1){ echo "Membre"; } ?>
Après j'ai créer un système d'article mais également un système pour commenter l'article, mais j'aimerai que par exemple si c'est un utilisateur gradé 2 ( Journaliste ), la couleur de son pseudo est orange et que si l'utilisateur est gradé 1 ( Membres ) son pseudo s'affiche en gris ( couleur d'origine ), voici ci-dessous mon code pour afficher le pseudo de la personne qui poste le commentaire :
<div style="font-size: 16px; color: #666; margin-left: 20px; margin-top: 10px; display: inline-block;"><strong><?php echo $req2->pseudo;?></strong></div><br />
Donc voilà en gros mon système, si vous pouvez m'aider sa serrai gentil 😀
PS : Je n'est pas compris le système que tu m'as donner..
Cordialement, Impulsion
BeKidding Le 6 mai 2016 à 14:58 (Édité le 6 mai 2016 à 14:59)
<div style="font-size: 16px; color: <?php if($user->rang == 3){ echo '#TA COULEUR ADMIN';} else{echo '#666';} ?>; margin-left: 20px; margin-top: 10px; display: inline-block;"><strong><?php echo $req2->pseudo;?></strong></div><br />
MisterTakaashi Le 6 mai 2016 à 15:05 (Édité le 1 janvier 1970 à 01:00)
En réalité, mon principe repose sur des classes CSS plutôt que mettre les couleurs directement en Code HTML. Sinon, cela fonctionne exactement de la même facon:
<?= (condition) ? "Je suis valide" : "Je ne suis pas valide" ?>
Ceci est une ternaire, ça permet tout simplement d'écrire en une ligne:
<?
if (condition){
echo("Je suis valide");
}else{
echo("Je ne suis pas valide");
}
?>
Mettre le style directement dans les balises DIV n'est pas une très très bonne pratique (Je le fais aussi souvent quand j'ai la flemme 😉). De plus pour le coup ça ne te facilite pas vraiment la vie.
Mais bon, la solution de BeKidding est tout à fait valable 😉
Si tu veux plus de détails, n'hésite pas 😀
BeKidding Le 6 mai 2016 à 15:14 (Édité le 1 janvier 1970 à 01:00)
MisterTakaashi Le 6 mai 2016 à 15:17 (Édité le 1 janvier 1970 à 01:00)
TrecKo Le 6 mai 2016 à 15:38 (Édité le 1 janvier 1970 à 01:00)
BeKidding Le 6 mai 2016 à 15:44 (Édité le 6 mai 2016 à 15:44)
Il fait que tu mette par exemple a la place de $user la requete que tu utilise pour afficher ton commentaire , avatar , etc...
TrecKo Le 6 mai 2016 à 15:48 (Édité le 6 mai 2016 à 16:17)
<?php
$sql2 = $BDD->prepare("SELECT * FROM commentaires WHERE id_a = ? ORDER by id desc limit 20");
$sql2->execute(array($core->Get($_GET['id'])));
while($req2 = $sql2->fetch(PDO::FETCH_OBJ)){
$parser = new JBBCode\Parser();
$parser->addCodeDefinitionSet(new JBBCode\DefaultCodeDefinitionSet());
?>
<div style="height:auto; margin-bottom: 5px;" id="forum">
<div id="avatar" style="float: left;background: #3AADDA url('https://avatar-retro.com/habbo-imaging/avatarimage?figure=<?php echo $req2->look;?>&direction=2&head_direction=2&gesture=sml') -2px -7px; background-repeat: no-repeat;"></div>
<div style="font-size: 16px; color: #666; margin-left: 20px; margin-top: 10px; display: inline-block;"><strong><?php echo $req2->pseudo;?></strong></div><br />
<div style="font-size: 13px; color: #666; margin-left: 20px; display: inline-block;"><?php $parser->parse($req2->msg); echo $parser->getAsHtml();?></div>
</div>
<div style="margin-top: 10px;margin-bottom: 10px;border-bottom: 2px dotted rgba(0,0,0,.1);"></div>
<?php } ?>
Si vous pouvez m'aider 😀 BeKidding Le 6 mai 2016 à 17:24 (Édité le 6 mai 2016 à 17:25)
<?php
$sql2 = $BDD->prepare("SELECT * FROM commentaires WHERE id_a = ? ORDER by id desc limit 20");
$sql2->execute(array($core->Get($_GET['id'])));
while($req2 = $sql2->fetch(PDO::FETCH_OBJ)){
$req3 = $BDD->prepare('SELECT * FROM utilisateurs WHERE pseudo = ?');
$req3->execute(array($req2->pseudo));
$req3 = $req3->fetch(PDO::FETCH_OBJ);
$rank = $req3->rang;
$parser = new JBBCode\Parser();
$parser->addCodeDefinitionSet(new JBBCode\DefaultCodeDefinitionSet());
?>
<div style="height:auto; margin-bottom: 5px;" id="forum">
<div id="avatar" style="float: left;background: #3AADDA url('https://avatar-retro.com/habbo-imaging/avatarimage?figure=<?php echo $req2->look;?>&direction=2&head_direction=2&gesture=sml') -2px -7px; background-repeat: no-repeat;"></div>
<div style="font-size: 16px; color: <?php if($rank == 3){ echo "#C62828"; } else { echo "#666";} ?>; margin-left: 20px; margin-top: 10px; display: inline-block;"><strong><?php echo $req2->pseudo;?></strong></div><br />
<div style="font-size: 13px; color: #666; margin-left: 20px; display: inline-block;"><?php $parser->parse($req2->msg); echo $parser->getAsHtml();?></div>
</div>
<div style="margin-top: 10px;margin-bottom: 10px;border-bottom: 2px dotted rgba(0,0,0,.1);"></div>
<?php } ?>
lecteursdb Le 6 mai 2016 à 17:39 (Édité le 1 janvier 1970 à 01:00)
j'ai pas un pb en php à proprement parler...juste quelque chose qui me tracasse depuis un bon bout. j'ai un site en ligne il est presque terminé...je souhaite installer avec lui un module qui requiert que le mod_rewrite soit activé sur mon serveur...j'ai essayé tout ce que je pouvais mais j'y suis pas parvenu...svp avez-vous quelque chose à me suggerer sur comment activer ? mon hébergeur c'est plesk...cordialement