[RESOLU] systement de classement mysql est php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] systement de classement mysql est php

Re: systement de classement mysql est php

par yomane » 18 juil. 2016, 22:02

sujet résolut merci de votre aide

Re: systement de classement mysql est php

par yomane » 18 juil. 2016, 22:00

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

par yomane » 18 juil. 2016, 20:55

je me permet un petit up

Re: systement de classement mysql est php

par yomane » 18 juil. 2016, 18:34

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

par yomane » 18 juil. 2016, 18:32

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

par Ryle » 18 juil. 2016, 17:29

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

par moogli » 18 juil. 2016, 17:24

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

par yomane » 18 juil. 2016, 16:15

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

par yomane » 18 juil. 2016, 12:35

voici l'image

Image

systement de classement mysql est php

par yomane » 18 juil. 2016, 12:32

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