En continuant mon chat php

voila j'ai continué un peu mon forum(merci kij_82) et ici je suis entrain d'essayer qu'a l'affichage ca change de couleur selon le sexe sauvegarder dans ma base et ca sauvegarde bien le sexe mais il n'affiche pas a la couleur.
si quelqu'un peu m'aider. un enorme merci
<?php
$connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
mysql_select_db("rencontre",$connexion) OR die("pb selection base");
$req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,40";
$result = mysql_query($req, $connexion);

$req2 = "SELECT sexe FROM chat ORDER BY ID DESC LIMIT 0,40";
$sexe = mysql_query($req2, $connexion);
$sexe2 = mysql_fetch_array($sexe);
$message='message';

if($sexe2='Masuculin')
{$message='<FONT COLOR="#FF0000">';
}
while ($val = mysql_fetch_array($result))
{
echo "<b>". $val['pseudo']."</b> : ".$val['message']."<BR>";

echo "$sexe2 <br>";
}
?>

34 réponses

Résumé de la discussion

Affichage du pseudonyme et du message en fonction du sexe enregistré dans la base pose problème, les messages s'affichent sans couleur alors que le sexe est bien sauvegardé. Des corrections mentionnées dans le code PHP incluent d'utiliser la comparaison '==' au lieu de l'affectation '=' dans les tests, et d'appliquer la couleur conditionnellement pour chaque ligne du résultat. D'autres propositions consistent à récupérer la valeur 'sexe' directement lors du parcours des résultats (val['sexe']), puis à choisir le code couleur avant d'afficher chaque message. En pratique, l'utilisation d'un seul foreach sur $result et l'application d'un balisage couleur conditionnel par ligne évite les erreurs et assure un affichage clair et cohérent.

Bobot (l’IA à votre service)
  1. Contributeur
    Je vois que tu es devenu membre, rempli daonc ton profil.

    ++
    1. Contributeur
      ya encore un = qui manque, alors je sais pas comment y marche mais bon, puisqu'il marche ma fois !

      ++
      1. j'ai trouvé. merci tu mas été d'une grande aide
        je te montre le code a titre indicatif
        ENCORE 10 000 000 MERCI
        <?php
        $connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
        mysql_select_db("rencontre",$connexion) OR die("pb selection base");

        $req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,40";
        $result = mysql_query($req, $connexion);

        $message='message';
        while ($val = mysql_fetch_assoc($result))
        {
        if( $val['sexe'] == "Masculin" ) // Hommes en rouge
        {$message="<FONT COLOR=\"#FF0000\">";}
        else if( $val['sexe'] = "Feminin" ) // Femmes en noir
        {$message = "<FONT COLOR=\"#FFFF00\">";}

        echo "<b>". $val['pseudo']."</b> : ".$message.$val['message']."</font><BR>";
        echo $val['sexe']."<br>";
        }
        1. en fait c'est lorsqu'il verifi si c'est un homme ou une femme ou encore un anonyme qu'il ne repere pas. mais j'arrive pas a lui refaire reprendre dans la base de données mascu... et en fonction changer la couleur d'affichage
          1. si je fait cela tout mes message apparaisent en rouge; mes enregistrement ce sauve bien en femme ou autres mais array retourne tj masculin
            1. Contributeur
              Et ca, c'est pas mieux ?
              <?php
              $connexion = mysql_connect("localhost","root","") OR die("pb connexion mysql");
              mysql_select_db("rencontre",$connexion) OR die("pb selection base");
              
              $req = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,40";
              $result = mysql_query($req, $connexion);
              
              $message='message';
              
              while ($val = mysql_fetch_array($result))
              {
              	if( $val['sexe'] = "Masculin" ) // Hommes en rouge
              		$message="<FONT COLOR=\"#FF0000\">";
              	else if( $val['sexe'] = "Feminin" ) // Femmes en noir
              		$message = "<FONT COLOR=\"#FFFFFF\">";
              
              	echo "<b>". $val['pseudo']."</b> : ".$message.$val['message']."</font><BR>";
              	echo $val['sexe']."<br>";
              }
              
              1. en fait je veux que lors de l'affichage
                il regarde le sexe et si le sexe et masculin il affiche le msg en rouge (aprés je mettrai bleu) les message féminin en rose et les message dit anonyme en noir. voila tout ce que je veux faire.
                et pour trouver le sexe.µ
                lorsque l'on marque son pseudo son message on indique son sexe d'une liste deroulante. pour enregistrer sa marche dans ma table il marque tout convenablement c'est lors de l'affichage il ne repere pas masculin feminin et anonyme je pense
                1. Contributeur
                  Est-ce que c'est dans ton while que tu veux que ca change de couleur, car si c'est ca que tu veux alors je sais pkoi ca marche pas, mais j'avaic pas compris que tu voulais faire ca.

                  redit moi

                  ++
                  1. ok j'ai compris pour les double=; mais bon ca marche pas; je reflechirrais a ca plus demain. j'arrive pas a lui faire comprendre quand l'enregistrement vaut masculine et quand il vaut autre chose
                    MERCI
                    et surement a plus tard ;-)
                    1. Contributeur
                      Bon ben met juste :
                      if( $sexe2 == "Masculin" ) {
                      $message = "<FONT COLOR=\"#FF0000\">";
                      }

                      Met il faut mettre les double égal sinon, il se passe la chose suivante :
                      $sexe2 = "Masculin" : tu dit que ta variable $sexe2 vaut "masculin" : ce qui est fait et qui est toujours vrai, donc suite à cela, ton message prend la valeur "<FONT COLOR=\"#FF0000\">" dans tous les cas, ce que tu ne veut pas !
                      1. un champs sexe de type varchar 10
                        et dans mon formulaire une liste deroulante avec masculin feminin et anonyme
                        1. Contributeur
                          Bon, donne moi le nom du champ qsui renseigne le sexe dans ta base de donnée.
                          1. non dans ma base il sont bien feminin mais je vois pas pq il retourne masculin
                            • 1
                            • 2