Problème de condition en PHP

Bonjour,

Je suis une truffe je n'arrive pas à faire un bout de code...

Je voudrais que si 'element 1' est superieur à 'element 2' alors que l'element 2 appartient à 'X', j'affiche une truc.

J'espère que je suis clair....

Merci d'avance de vos aides.
Configuration: Windows XP
Firefox 2.0.0.9

14 réponses

  1. Modérateur
    C'est donc dans la manière de récupérer tes résultats depusi la base qu'il faut faire ça:
    $res = mysql_query("SELECT * FROM `$topsitetab` WHERE id BETWEEN 1 and 500 ORDER BY `$point` DESC LIMIT 0,15");
    $tab = array();
    
    while($temp = mysql_fetch_assoc($res))
    {
        $tab[] = $temp; //tous les rangs dans un tableau
    }
    
    /* Affichera 
    1. prout 1000
    2. flet 500
    3. clac 100 */
    
    for ($i=0; $i<sizeof($tab); $i++)
    {
        echo ($i+1) . $tab[$i]['name'] . $tab[$i]['points'];
    }
    /* Ensuite on dit que $j est la position dans $tab où se trouve clac, donc dans $j+1 il y a flet, ça donne*/
    if ($tab[$j]['ancien_point'] > $tab[$j+1]['points']){
          //faire ce que tu veux faire
    }


    Voilà comment je le vois.
    1. Ben là je vais comparer ancienpoint de clac aux points de clac et pas à ceux de flet !
      1. On va dire qu'il suffit de comparer les anciens points de clac aux points de flet, c'est tout ce que je cherche à faire...
        1. Modérateur
          Ok, mettons que tu aies:

          1. prout 1000
          2. flet 500
          3. clac 100

          clac prend 500 points on a donc:

          1. prout 1000
          2. clac 600 (ancien = 100)
          3. flet 500

          Donc tu veux tester si 100 est plus grand que 500 et si.... là je vois pas. Tu veux tester si le rang est égal au rang d'au dessus, mais quel...quel....rang....je......
          Et c'est donc à flet que tu veux mettre une flèche montante? Mais comme il a monté de rang, de toute façon il a une flèche montante non?
          1. Ben ouep c'est là ou je bloque aussi au niveau de la traduction en code :

            if ($ancien_point > $point && $point appartient au rang du dessus){
            //Faire ton truc
            }

            >> && $point appartient au rang du dessus

            La requete sql ordonne le classement

            mysql_query("SELECT * FROM `$topsitetab` WHERE id BETWEEN 1 and 500 ORDER BY `$point` DESC LIMIT 0,15");

            Pour afficher un rang j'utilise pas la BDD

            j'ai mis :

            $rank = $rank + 1;
            echo $rank;

            ce qui affiche :

            1. blabla 1000 pts
            2. blabla 500 pts
            3. blabla 100 pts
            etc... dans l'ordre de la requete.

            quand on vote pour blabla 100 pts ça lui rajoute 500 points il en a donc 600 et passe en 2., j'enregistre donc ancienpoint 100 avant de lui rajouter les 500 et ensuite je cherche a comparer ses anciens points avec les points de 2. blabla 500 pts ki est passé 3. pour lui afficher une fleche montante.

            Merci de ton extrème patience !
            1. Modérateur
              Je voudrais que si 'ancienpoint' est superieur à 'point' alors que 'point' appartient au rang du dessus, j'affiche une truc.

              Toi t'arrive pas à traduire en code, moi j'arrive pas à comprendre en langage humain. Au final on est pas plus avancé l'un que que l'autre....
              if ($ancien_point > $point && $point appartient au rang du dessus){
                   //Faire ton truc
              }

              Je comprends pas ton histoire d'appartenance à un rang ou celui du dessus....
              1. X du début c'est le resultat point du rang au dessus.

                Je cite :

                Bonjour,

                Je suis une truffe je n'arrive pas à faire un bout de code...

                Je voudrais que si 'ancienpoint' est superieur à 'point' alors que 'point' appartient au rang du dessus, j'affiche une truc.

                J'espère que je suis clair....

                Merci d'avance de vos aides
                1. Modérateur
                  Mais ça correspond à quoi le X du début?
                  Désolé j'ai vraiment du mal :s
                  1. point arrivent de la BDD et permet d'ordonner le classement de 1 à 10

                    rank affiche la valeur du rang de 1 à 10 sans passer par la BDD
                    $rank = $rank + 1;
                    echo $rank;

                    Je cherche à pouvoir afficher une flêche montante pour ceux qui gagnent des places et un descendante pour ceux qui en perdent.

                    Je me suis dit qu'en enregistrant une variable ancienpoint dans ma BDD je pouvais ensuite faire une comparaison entre ancienpoint et les point du rang au dessus pour afficher mes flêches.

                    Et je galère ! comme d'hab je suis une bille :-)
                    1. je precise, j'ai un classement qui s'affiche disons de 1 à 10 grace à la variable rank, le classement est ordonné par la variable point.

                      j'enregistre une variable ancienpoint, que je veux ensuite comparé au point de la chose qui est un rang au dessus.
                      1. Modérateur
                        Qu'est ce que tu veux dire par appartient à X? Tu veux savoir si element2 est un élément du tableau X?