Aller au contenu

Didier M

Membre
  • Compteur de contenus

    9
  • Inscrit(e) le

  • Dernière visite

Messages postés par Didier M

  1. Donc, je viens de faire un nouvel essais comme ceci :

    select *, 1+count(b.Total_points) as place
    from danseur_$Saison a
    left join danseur_$Saison b on a.Total_points < b.Total_points
    group by a.Dossards
    order by place asc

    Et là cela fonctionne !

    Maintenant j'aie une clause where à ajouter et là cela ce complique de nouveau !!!

    la clause est :

    WHERE Catégorie  ='Cadet 3' AND valid  <>'x'

    En effet je doit faire le tri part catégorie et voir si le couple est OK (valid).

    Merci encore

  2. Donc je viens de réessayer la requète de Kioob et mysql me répond :

    Erreur SQL 1!

    Column 'Dossards' in field list is ambiguous

    Donc ?

    Merci pour votre réponse.

  3. Je viens de chercher et peux être trouvé !

    Mais je ne sais pas comment écrire la requète, donc voilà ci-dessous la chose !

    mysql> SET _AT_num := 0, _AT_rank := 0, _AT_prev := NULL;
    mysql> SELECT _AT_num := _AT_num + 1 AS row,
    _AT_rank := if(@prev != php, _AT_num, _AT_rank) AS rank,
    country, _AT_prev := php AS php
    FROM statsPHP ORDER BY php;
    +------+------+---------------+-----+
    | row | rank | country | php |
    +------+------+---------------+-----+
    | 1 | 1| Polynésie Fr. | 67 |
    | 2 | 2| Turk & Caicos | 55 |
    | 3| 3| France | 41 |
    | 4| 4| USA | 31 |
    | 5| 4| Canada | 31 |
    | 6| 6| Groënland | 17 |
    | 7| 6| Israel | 17 |
    +------+------+---------------+-----+

    Merci pour votre aide.

  4. Merci petit ourson, mais ouf c'est pas simple comme manip, j'essaye la solution de Kioob et encore merci pour ta solution.

    Merci Kioob pour la réponse, je pense mettre trompé dans ta requète,

    Donc j'aie un table qui s'apelle danseur_$Saison, dans laquelle j'aie Dossards (id), Total_points, Catégorie, valid.

    Je modifie ta requète :

    select Dossards, 1+count(b.Total_points) as place
    from danseur_$Saison a
    left join danseur_$Saison b on a.Total_points < b.Total_points
    group by a.Dossards
    order by place desc, Dossards asc

    Voilà, merci pour la réponse.

  5. Bonjour,

    Captain à compris ce que je voulais faire, l'ordre des places est en fonction d'un nombre de points qui sont enregistrés dans mysql,

    cela me sers à faire un classement général en fonction des points.

    Voici un lien pour un classement :Classement

    Donc la place de 7 devrait être 6 et on passe directe à 8.

    je regarde ce que donne la requéte postée plus haut, merci.

  6. Bonjour,

    J'utilise cette requète pour afficher les places de compétitions, mais le problème est le traitement des exeaquo, en effet la requète me donne par exemple :

    1

    2

    4

    4

    5

    Et il faudrait

    1

    2

    3

    3

    5

    La requète

    $req = mysql_query("SELECT *, (SELECT COUNT(*) FROM danseurs_$Saison WHERE Catégorie='$Catégorie' AND valid<>'x' AND Total_points >= ge.Total_points) as place FROM danseurs_$Saison ge WHERE Catégorie='$Catégorie' AND valid<>'x' ORDER BY Total_points DESC") or die ('Erreur SQL 1!'.$req.'
    '.mysql_error());

    merci pour votre aide

  7. Bonjour,

    Voilà, j'ai un problème, je n'arrive pas à aditionner le résultats d'un tableau !!!!

    Ne voulant aditionner que les 3 meilleurs valeurs de points.

    Ci- dessous mon code :

    $req = mysql_query("SELECT points_Sel1,points_Sel2,points_Sel3,points_Sel4,points_Sel5,points_Sel6,points_S
    l7,points_Sel8 from 2005 where Dossards = '121'") or die ('Erreur SQL 3!'.$req.'<br>'.mysql_error());      
           $res1= mysql_numrows($req);
     for ($k=0;$k<$res1;$k++){
           $points1=mysql_result($req,$k,"points_Sel1");
     $points2=mysql_result($req,$k,"points_Sel2");
     $points3=mysql_result($req,$k,"points_Sel3");
     $points4=mysql_result($req,$k,"points_Sel4");
     $points5=mysql_result($req,$k,"points_Sel5");
     $points6=mysql_result($req,$k,"points_Sel6");
     $points7=mysql_result($req,$k,"points_Sel7");
     $points8=mysql_result($req,$k,"points_Sel8");  
     }

    $points = array("$points1", "$points2", "$points3", "$points4","$points5","$points6","$points7","$points8");  
     rsort ($points);  
     reset ($points);  
     while (list ($key, $val) = each ($points))
     {    echo "points[".$key."] = ".$val."<br>\n";
     
     }
    $a=each($points);
    $s1=$a[1];
    $s2=$a[3];
    $s3=$a[5];
    $somme = array($s1,$s2,$s3);
    echo "sum(a) = " . array_sum($somme) . "<br>\n";

    Merci.

×
×
  • Créer...