Page 1 sur 1

systement de classement mysql est php

Posté : 18 juil. 2016, 12:32
par yomane
bonjour a tous

je suis sur la création d’un concours avec classement

il y a 5 personne qui participe

jais fait une ligne classement son mon tableaux

mes le problème c’est que je voudrait que le classement de chaque joueur se mette devant son nom

mes actuelement jais de 1 a 5 devant tous les nom

je vous join une image

[img]http://up.sur-la-toile.com/i1hUR][img]http://up.sur-la-toile.com/41hUR[/img]

merci a tous


voici la partie du code tableaux plus classement



<?php
mysql_connect('++++++", "++++++", "+++++++"); // Connexion à MySQL
mysql_select_db("+++++++"); // Sélection de la base
  
$reponse = mysql_query("SELECT * FROM +++++ ORDER BY +++++ DESC LIMIT 0,5") or die(mysql_error());

mysql_close(); ?>
 
<table>

 
            <thead>
            <tr class="titre_horizon_classique">
                
            </tr> <table border="2">
            <tr class="titre_horizon_classique">
<th>&nbsp;&nbsp;Classement&nbsp;&nbsp;</th>
                <th>&nbsp;&nbsp;Nom de la task force&nbsp;&nbsp;</th>
                <th>&nbsp;&nbsp;Identifiant de la task force&nbsp;&nbsp;</th>  
                <th>&nbsp;&nbsp;Points de force&nbsp;&nbsp;</th>
                
               
            </tr>
            </thead>
<tbody>
<?php
while($donnees = mysql_fetch_array($reponse)) {
?>

<tr>
<td><center><b><?php
 
$i = 1;
mysql_connect("++++++", "++++++++", "+++++++"); // Connexion à MySQL
mysql_select_db("++++++++"); // Sélection de la base
$resultat = mysql_query("SELECT * FROM ++++++ ORDER BY +++++++ DESC LIMIT 0,5");
while ($pseudo = mysql_fetch_array($resultat))
{
?>
 
<?php echo $i++ ?>
 
<?php
}
 
?>


</td>


<td><?php echo $donnees['nom']?></td>
<td><?php echo $donnees['idforces']?></td>
<td><?php echo $donnees['point'];?></td>







</tr><?php
}?>
 
</tbody></table>


</center>





</tr></body></center></TD>
</TR>
	</form>
avidement les + cest pour cacher ma base de donnée merci a tous

Re: systement de classement mysql est php

Posté : 18 juil. 2016, 12:35
par yomane
voici l'image

Image

Re: systement de classement mysql est php

Posté : 18 juil. 2016, 16:15
par yomane
je me permais un petit up

il me manque plus que sa pour mon site web

je vous laisse le lient pour voire tous mon travail actuelle

http://www.task-forces.fr

cest un site pour le jeux boombeach

Re: systement de classement mysql est php

Posté : 18 juil. 2016, 17:24
par moogli
salut,

il faut que tu calculs le rang dans la requête SQL. Pour cela Dense_rank

J'ai modifié ton code dans ce sens avec un petit nettoyage et un semblant de MVC ;)
<?php
mysql_connect('++++++', '++++++', '+++++++'); // Connexion à MySQL
mysql_select_db('+++++++'); // Sélection de la base

$reponse = mysql_query('SELECT nom, idforces, point, DENSE_RANK() OVER(ORDER BY point DESC) as rang FROM laTableQuiVaBien ORDER BY point DESC LIMIT 0,5');

$data = [];
while($donnees = mysql_fetch_array($reponse)) {
  $data[] = $donnees;
}

mysql_free_result($reponse);
mysql_close();
?>
<table style="text-align:center;margin:auto;"><!-- oui ceinture et bretelle ;) )-->
  <thead>
    <tr class='titre_horizon_classique'>
      <th style="text-align:center;">Classement</th>
      <th style="text-align:center;">Nom de la task force</th>
      <th style="text-align:center;">Identifiant de la task force</th>
      <th style="text-align:center;">Points de force</th>
    </tr>
  </thead>
  <tbody>
<?php
foreach ($data as $donnees) {
?>
    <tr>
      <td style="text-align:center;font-weight:bold;"><?php echo $donnees['rang']; ?> </td>
      <td><?php echo $donnees['nom']; ?></td>
      <td><?php echo $donnees['idforces']; ?></td>
      <td><?php echo $donnees['point']; ?></td>
    </tr><?php
}
?>
  </tbody>
  <tfoot></tfoot>
</table>
@+

Re: systement de classement mysql est php

Posté : 18 juil. 2016, 17:29
par Ryle
Bonjour,

Lorsque tu as ouvert la connexion à la base de donnée, il n'est pas nécessaire de la réouvrir à chaque requête. On se connecte une fois pour toute et ensuite on utilise la connexion créée.

Au niveau de ton problème, tu as deux while imbriqués qui exécutent la même requête. Supprime la deuxième connexion à la base, ainsi que la deuxième requête et le deuxième while. Sors ta variable $i de la boucle et affiche le simplement :)

Ps : attention à l'orthographe dans tes messages... ça n'est pas évident de te lire et donc de t'aider si on comprend pas ce que tu dis... et si tu fais des fautes dans ton code, ça ne pardonne pas, alors autant appliquer la même rigueur dans tes messages ;)


Edit : Grillé :)

Re: systement de classement mysql est php

Posté : 18 juil. 2016, 18:32
par yomane
merci de ton aide voici ce que sa me donne une fois en place (image ci dessous )

( par contre je nes pas de champs rang dans ma base mysql )

Image




salut,

il faut que tu calculs le rang dans la requête SQL. Pour cela Dense_rank

J'ai modifié ton code dans ce sens avec un petit nettoyage et un semblant de MVC ;)
<?php
mysql_connect('++++++', '++++++', '+++++++'); // Connexion à MySQL
mysql_select_db('+++++++'); // Sélection de la base

$reponse = mysql_query('SELECT nom, idforces, point, DENSE_RANK() OVER(ORDER BY point DESC) as rang FROM laTableQuiVaBien ORDER BY point DESC LIMIT 0,5');

$data = [];
while($donnees = mysql_fetch_array($reponse)) {
  $data[] = $donnees;
}

mysql_free_result($reponse);
mysql_close();
?>
<table style="text-align:center;margin:auto;"><!-- oui ceinture et bretelle ;) )-->
  <thead>
    <tr class='titre_horizon_classique'>
      <th style="text-align:center;">Classement</th>
      <th style="text-align:center;">Nom de la task force</th>
      <th style="text-align:center;">Identifiant de la task force</th>
      <th style="text-align:center;">Points de force</th>
    </tr>
  </thead>
  <tbody>
<?php
foreach ($data as $donnees) {
?>
    <tr>
      <td style="text-align:center;font-weight:bold;"><?php echo $donnees['rang']; ?> </td>
      <td><?php echo $donnees['nom']; ?></td>
      <td><?php echo $donnees['idforces']; ?></td>
      <td><?php echo $donnees['point']; ?></td>
    </tr><?php
}
?>
  </tbody>
  <tfoot></tfoot>
</table>
@+

Re: systement de classement mysql est php

Posté : 18 juil. 2016, 18:34
par yomane
bonjour a est merci a de ton aide

oui je sais je suis une merd......... en français c’est un gros problème

je vait essayer de faire se que ma dis merci de ton aide

Bonjour,

Lorsque tu as ouvert la connexion à la base de donnée, il n'est pas nécessaire de la réouvrir à chaque requête. On se connecte une fois pour toute et ensuite on utilise la connexion créée.

Au niveau de ton problème, tu as deux while imbriqués qui exécutent la même requête. Supprime la deuxième connexion à la base, ainsi que la deuxième requête et le deuxième while. Sors ta variable $i de la boucle et affiche le simplement :)

Ps : attention à l'orthographe dans tes messages... ça n'est pas évident de te lire et donc de t'aider si on comprend pas ce que tu dis... et si tu fais des fautes dans ton code, ça ne pardonne pas, alors autant appliquer la même rigueur dans tes messages ;)


Edit : Grillé :)

Re: systement de classement mysql est php

Posté : 18 juil. 2016, 20:55
par yomane
je me permet un petit up

Re: systement de classement mysql est php

Posté : 18 juil. 2016, 22:00
par yomane
merci grâce a ce que tu ma dit c’est régler merci de ton aide

a bientôt

Bonjour,

Lorsque tu as ouvert la connexion à la base de donnée, il n'est pas nécessaire de la réouvrir à chaque requête. On se connecte une fois pour toute et ensuite on utilise la connexion créée.

Au niveau de ton problème, tu as deux while imbriqués qui exécutent la même requête. Supprime la deuxième connexion à la base, ainsi que la deuxième requête et le deuxième while. Sors ta variable $i de la boucle et affiche le simplement :)

Ps : attention à l'orthographe dans tes messages... ça n'est pas évident de te lire et donc de t'aider si on comprend pas ce que tu dis... et si tu fais des fautes dans ton code, ça ne pardonne pas, alors autant appliquer la même rigueur dans tes messages ;)


Edit : Grillé :)

Re: systement de classement mysql est php

Posté : 18 juil. 2016, 22:02
par yomane
sujet résolut merci de votre aide