Partage
  • Partager sur Facebook
  • Partager sur Twitter

Virer la dernière virgule d'une boucle (enfin d'une chaine)

Sujet résolu
    18 février 2007 à 21:12:00

    Bonjour, j'ai ce code la, mais je voudrais virer la dernière virgule de ma boucle la :

    <?php

    // Calcul du shema date Aujourdhui
    $date_jour = date("j");
    $date_mois = date("n");
    $date_aujourdhui = ''.$date_mois.'/'.$date_jour.'/AAAA';

    mysql_connect($db_host, $db_username, $db_password);
    mysql_select_db($db_name);
    $liste_membres = mysql_query("SELECT username FROM users WHERE birthdate='$date_aujourdhui' ORDER BY username");
    $liste = mysql_fetch_array($liste_membres);
    $res = mysql_numrows($liste_membres);

    $i=0;
    WHILE($res!=$i)
      {
            $username = mysql_result($liste_membres,$i,"username");
            $username_id = mysql_query("SELECT id FROM users WHERE username='$username'");
            $username_id = mysql_fetch_array($username_id);
            echo '<dd><a href="profile.php?id='.$username_id['id'].'">'.$username.'</a></dd>, ';
        $i++;
      }
    mysql_close();
    ?>


    Comment puis-je faire ? Merci encore une fois ;)
    • Partager sur Facebook
    • Partager sur Twitter
      18 février 2007 à 21:18:10

      au passage, tu as une faute sur la fonctions mysl_numrows, qui s'écrit mysql_num_rows(), ensuite, un simple teste sur la valeur de $i te permet de savoir si tu es dans la dernière passe ou non
      echo '<dd><a href="profile.php?id='.$username_id['id'].'">'.$username.'</a></dd>';
      if($i<($res-1){
        echo ', ';
      }
      • Partager sur Facebook
      • Partager sur Twitter
        18 février 2007 à 21:19:26

        ou alors tu met un point virgule.
        • Partager sur Facebook
        • Partager sur Twitter
        :)
          18 février 2007 à 21:29:15

          ça me met qu'il y a une erreur de syntax, conclusion, ça marche pas :S
          • Partager sur Facebook
          • Partager sur Twitter
            18 février 2007 à 21:33:27

            normal j'ai oublié une parenthèse...
            essaye de réfléchir un peu... avant de conclure ativement !
            regarde à quelle ligne se situe l'erreur, et cherche ce qui ne va pas!
            • Partager sur Facebook
            • Partager sur Twitter
              18 février 2007 à 21:36:10

              Oups la, oui effectivement juste une petite parenthèse, excuse-mio encore, j'aurias pu le trouver tout seul c'est vrai :S

              Vraiment désolé mais merci puisque maintenant ça marche ;)

              if($i<($res-1)){
              echo ', ';
              }
              • Partager sur Facebook
              • Partager sur Twitter
                18 février 2007 à 22:08:06

                Au lieu de faire un echo tu as cas faire une variable genre

                $var .= '<dd><a href="profile.php?id='.$username_id['id'].'">'.$username.'</a></dd>,';

                et pour l'affiché tu fais echo rtrim(',', $var);

                C'est aussi une solution
                • Partager sur Facebook
                • Partager sur Twitter
                  18 février 2007 à 23:43:45

                  Oui aussi :D , encore merci encore à vous tous ;)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Virer la dernière virgule d'une boucle (enfin d'une chaine)

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown