IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Liste de résultats [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Liste de résultats
    Bonjour à vous tous !

    Voila ma question:

    Je réalise une gestion de classement de compétition depuis une base de données et j'ai un soucis pour les classement de mes compétitieurs:
    J'ai un retour de BD qui me donne un total de points par compétiteur et je boucle dessus comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php 
    $ligne = array();
    $Result = mysql_query($Requete,$db);
    /* Récupération du retour et stockage dans un tableau indexé */
    while(false != $retour = mysql_fetch_assoc($Result))
    {
        $ligne[] = $retour;
    }
     
    $nbl = count($ligne); 
     
    for($i = 0; $i < $nbl; $i++) 
    		{ 
    $classement = 0; 
    $dernierScore = 0; 
    foreach( $ligne as $i => $LigneS ) { 
      if( $LigneS['Total_points'] != $dernierScore ) $classement++; 
      $ligne[$i]['classement'] = $classement; 
      $dernierScore = $LigneS['Total_points']; 
    	print $classement.'<br>';
    				}  
    		}
    // Ca me donne cela :  1, 2, 3, 3, 3, 4  alors que je voudrais  1, 2, 3, 3, 3, 6
    ?>
    Merci de votre aide

    Michel

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    dans ta requete un order by total_points desc ne suffirait il pas ?
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Non, c'est juste une question d'affichage, j'ai tous les retours de ma BD correcte.

    Merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Je vois mieux, à mon avis il te faut une deuxième variable qui gère le nombre de classements identiques afin que tu incrémentes le classement d'autant lorsque le suivant possède un total de points moindre.

    J'espère m'être fait comprendre
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Oui, c'est ce que je pense, mais j'ai du mal à le concrétiser ...

    Tu vois une solution ?

    Merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <?php 
    $ligne = array();
    $Result = mysql_query($Requete,$db);
    /* Récupération du retour et stockage dans un tableau indexé */
    while(false != $retour = mysql_fetch_assoc($Result))
    {
        $ligne[] = $retour;
    }
     
    $nbl = count($ligne); 
     
    for($i = 0; $i < $nbl; $i++) 
    		{ 
    $nb_classements_ident = 1;
    $classement = 0; 
    $dernierScore = 0; 
    foreach( $ligne as $i => $LigneS ) { 
      if( $LigneS['Total_points'] != $dernierScore ) 
      {
           $classement += $nb_classements_ident;
           $nb_classements_ident = 1;
      }
      else
      {
          $nb_classements_ident++;
      } 
      $ligne[$i]['classement'] = $classement; 
      $dernierScore = $LigneS['Total_points']; 
    	print $classement.'<br>';
    				}  
    		}
    // Ca me donne cela :  1, 2, 3, 3, 3, 4  alors que je voudrais  1, 2, 3, 3, 3, 6
    ?>
    Je ne suis pas sur que ce code fonctionne (pas les moyens de le vérifier) mais ca doit etre quelque chose du genre
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Problème résolu
    Problème résolu

    Merci de votre aide

    Michem

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/11/2006, 15h33
  2. [CSV] liste de résultats dans un champ
    Par lodan dans le forum Langage
    Réponses: 4
    Dernier message: 15/07/2006, 18h25
  3. Réponses: 2
    Dernier message: 07/07/2006, 10h00
  4. calcul de valeurs présentes dans une liste de résultat
    Par Makaveli33 dans le forum Access
    Réponses: 8
    Dernier message: 15/05/2006, 19h03
  5. [Struts][Debutant] liste de résultat en session
    Par hugo123 dans le forum Struts 1
    Réponses: 5
    Dernier message: 19/08/2005, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo