PHP/MySQL [noob] Classement détaillé - PHP - Programmation
Marsh Posté le 25-05-2004 à 20:35:29
Dans ta boucle POUR il me semble qu'il y a un soucis je serais toi je ferais une TANT QUE :
$i=0;
while ($ligne=mysql_fetch_array($result))
{
$i++;
if($ancienpoints == $ligne['points'])
{
print("-".$ligne['noms'] $ligne['points']<br/>" );
}
else
{
print($i.$ligne['noms'] $ligne['points']<br/>" );
}
$ancienpoints = $ligne['points'];
}
non ?
Marsh Posté le 25-05-2004 à 20:38:55
Oui c'est exactement ce que j'ai fait avec un "while".
Merci, ça me réconforte, je suis tout nouveau ds le domaine de la programmation tu sais
Sinon me reste le gros problème.
Marsh Posté le 25-05-2004 à 20:47:06
Bon j'ai changé la boucle FOR en WHILE ds le premier post.
Marsh Posté le 25-05-2004 à 20:50:56
Le gros problème n'est pas vraiment un, si tu veux être complet, tu dois respecter les règles en vigueur dans le pays (si égalité de points, on regarde le nombre de victoire, puis les résultats croisés et enfin le goal average par exemple). Et je t'épargnes l'affichage des qualifiés pour une coupe d'europe par un autre moyen que le championnat
Marsh Posté le 25-05-2004 à 20:54:54
Ouais je voudrais bien faire de l'humour mais gardons un minimum de sérieux et concentrons nous sur le problème.
En fait les règles c'est moi qui les décident et y'a rien d'autres pour départager que les points.
Marsh Posté le 25-05-2004 à 21:06:29
Je suis sérieux hein, tu les départages comment en fin de championnat ?
Sinon, la méthode simple c'est :
Je connais le nombre de points du premier et du troisième, avant chaque affichage je regarde si le nombre de point de l'équipe courante est inférieur. Si oui et que la barre n'a pas déjà été affichée, j'affiche ma barre puis l'équipe, sinon, j'affiche juste l'équipe.
Marsh Posté le 25-05-2004 à 21:09:11
naceroth a écrit : Je suis sérieux hein, tu les départages comment en fin de championnat ? |
Damn! J'y avait pas pensé.
Thx
Marsh Posté le 25-05-2004 à 21:18:29
Je me suis lancé tête la première dans une tentaive de résoudre mon problème mais comment accéder au 3ème élément (le troisième nombre de points par ordre décroissant) de $ligne['points']?
Il y a une méthode directe ou bien juste du bricolage?
Marsh Posté le 26-05-2004 à 00:37:36
là, le bricolage est limite plus simple.
Comme tu devras parcourir toutes les équipes, il suffit d'utiliser le compteur $i de la solution de rainbow_efreet et de mémoriser la valeur de $ligne['points'] pour $i = 1 et 3.
Mais question à deux points, comment vas tu gérer l'affichage pour une situation genre :
1 Quimper 3 |
(Classique de début de championnat )
Marsh Posté le 26-05-2004 à 08:53:01
Je ne comprend pas ton probleme mon algorythme peut te fournir une reponse du type
1 Quimper 3
- Pontivy 3
- Lannion 3
- Brest 3
- Rennes 3
- Lorient 3
quel est le probleme concretement ?
Marsh Posté le 26-05-2004 à 16:34:47
Pas à toi que je parlais remarque
Non, mais la question c'est comment Vague Nocturne met il les barres si le premier a autant de points que le troisième (donc, si les champions potentiels et les européens potentiels sont les mêmes équipes )
Marsh Posté le 26-05-2004 à 16:58:00
Y'a pas moyen d'afficher les valeurs d'un tableau autrement que par un boucle?
Est-il possible de déplacer le pointeur jusqu'à une valeur souhaitée?
Marsh Posté le 26-05-2004 à 17:08:12
Oui, c'est possible (mysql_data_seek), mais c'est se compliquer la vie pour rien dans le cas présent
Marsh Posté le 26-05-2004 à 17:13:00
tu ferais comment toi (en igonrant ton cas de figure sur le début de championnat)?
Je me suis vraiment creusé les méninges, j'y ai surtout vu que j'avais plein de lacunes ...
Marsh Posté le 26-05-2004 à 18:17:13
Arf, j'ai pas pu recopier mon propre code
Bon, je ferais un truc genre (en partant du code de rainbow_efreet, sans les erreurs de parsing )
Code :
|
//edition : rendons à César ce qui était à César, y avait une erreur de nick sur le code dont je me suis inspiré
Marsh Posté le 27-05-2004 à 03:15:37
Merci bcp de ton aide, ainsi que Rainbow...
J'ai vu où était ma difficulté (vérifier que la barre était déjà placée) et j'ai changé le script selon ma façon de voir.
Salutations.
Marsh Posté le 25-05-2004 à 20:17:40
Salut les gens
Voilà j'aimerais faire un classement détaillé du même acabit que celui là mais en moins fournit niveau colonnnes:
http://lequipe.fr/Football/Footbal [...] 400_G.html
Le tout en PHP+MySQL.
Pour faire un classement simple j'ai utiliser cette méthode:
puis
Cependant j'ai deux problèmes:
4 Brest 22
5 Rennes 22
6 Lorient 21
Brest et Rennes ont le même nombre de points, mais je voudrais que le numero de place soit remplacé par un "-" plutôt que "5", soit:
4 Brest 22
- Rennes 22
6 Lorient 21
Bon j'avoue j'ai déjà trouvé un moyen de le faire mais j'aimerais voir d'autres méthodes éventuellement.
J'ai ce genre de classement:
1 Quimper 30
2 Pontivy 29
3 Lannion 25
4 Brest 22
- Rennes 22
6 Lorient 21
Mais je voudrais signifier que Quimper est champion et que Pontivy et Lannion sont qualifiés pour une compétition européenne du fait de leur place dans les 3 premiers, soit:
1 Quimper 30
------------------ (champion)
2 Pontivy 26
3 Lannion 25
------------------ (qualification européenne)
4 Brest 22
5 Rennes 22
6 Lorient 21
Pour corser le problème, et prévoir les cas de figure qui peuvent se présenter, imaginons que Lannion et Brest soient à égalité de points, mais comme le championnat n'est pas fini on ne sait pas qui sera qualifié donc on englobe 3 équipes dans la partie "qualification européenne" (Pontivy, Lannion et Brest) soit:
1 Quimper 30
------------------ (champion)
2 Pontivy 26
3 Lannion 25
- Brest 25
------------------ (qualification européenne)
5 Rennes 22
6 Lorient 21
J'espère avoir été compris.
La question est simple, comment feriez-vous? (PHP+MySQL)
Ca à l'air tout simple mais je bute.
Merci bcp.
Message édité par Vague Nocturne le 25-05-2004 à 20:46:10