Jump to content
×
×
  • Create New...
  • Please do not post a message for the purpose of insulting, incitement to hatred, sexual remarks and any other which does not respect our terms of use !

 résolu Faire un classement en PHP !?


Guest
 Share

Recommended Posts

Bonjour à tous et à toutes!

 

Depuis quelques jours voir semaines, je conçois un site web je n'en dis pas plus sur le projet...

En soit il avance bien, mais depuis quelques jours il est arrêté pour une "connerie" que justement je n'arrive pas à trouver donc à résoudre.

 

Il s'agit de crée un classement.

Dans une table dans ma base de donnée que j'ai une catégorie "points", et il est possible que sur le site des histoires ajoutes des points à certains sujets..

Et j'aimerai mettre en avant donc faire un classement du sujet qui à le plus de points à celui qui n'en a le moins et j'aimerai en affiché 20 aux maximums.

 

PS: J'ai lu qu'il fallait peut-être utilisé un truc du style "DISTINCT" dans la requête PHP (Je veux faire sa en PHP et non en SQL)

 

En espérant vous avoir bien expliquer et avoir des réponses!

 

Bon courage à tous pour ceux qui passent des épreuves..

Cordialement, Lucas

Link to comment
Share on other sites

http://prntscr.com/fk8hl6

 

Comprends-tu mieux?

 

On possède tous des points de popularité et grâce à cela il y a un classement des plus populaires et j'aimerai faire pareil sauf que moi c'est pas pour des membres mais c'est le même principe :)

Link to comment
Share on other sites

Tu es un peu obligé de faire ça en SQL. Mais dit SQL, dit PHP.

Pour ta requête ça va être assez simple, mais il va falloir faire une boucle pour afficher les 20 premiers.

Requête:

SELECT * FROM sujet ORDER BY points DESC

N'hésite surtout pas à utiliser PDO pour les requêtes. MySQL c'est un peu dépassé.

Link to comment
Share on other sites

Bah tu cherche ta table, ensuite tu sélectionne la colonne.
Tu fait ton classement en HTML avec une boucle en début qui select je ne sais quelle variable tu utilise en DESC

Sinon viens skype je t'explique l'ami

 

:bloggif_595b78fd3fb48: PAS D'AIDE EN MP :bloggif_595b78fd3fb48:

Sites Webs :

- HostRetro.com

- Ado-Lite.fr

- Alls-Heberg.fr

 

 

 

Hr_Ban.png

Link to comment
Share on other sites

Salut, c'est très simple fait sa en PDO:

$affiche = &bdd->query('SELECT * FROM nomdelatable ORDER BY -id LIMIT 0.20');

 

---------------

Et pour les afficher tu fais, 

<?php while($aff = $affiche->fetch()) { ?>

<?php echo aff['points']; ?>

<?php } ?>

Link to comment
Share on other sites

$req = $bdd->query('SELECT * FROM users ORDER BY points DESC LIMIT 20');

 

while($r = $req->fetch()) {

echo '{{username}} -> '.$r['points'].'';

}

Edited by Arwantys1
  • J'aime 1

JavaScript for ever

Link to comment
Share on other sites

il y a 27 minutes, PhCmDev a dit :

Salut, c'est très simple fait sa en PDO:

$affiche = &bdd->query('SELECT * FROM nomdelatable ORDER BY -id LIMIT 0.20');

 

---------------

Et pour les afficher tu fais, 

<?php while($aff = $affiche->fetch()) { ?>

<?php echo aff['points']; ?>

<?php } ?>

Order by points, pas l'id mdrrr

JavaScript for ever

Link to comment
Share on other sites

il y a 18 minutes, PhCmDev a dit :

Salut, c'est très simple fait sa en PDO:

$affiche = &bdd->query('SELECT * FROM nomdelatable ORDER BY -id LIMIT 0.20');

 

---------------

Et pour les afficher tu fais, 

<?php while($aff = $affiche->fetch()) { ?>

<?php echo aff['points']; ?>

<?php } ?>

Je comprends pas pourquoi tu order by id ... ^^

 

Voici un code tout prêt:

 

<?php

$select = $bdd->prepare('SELECT * FROM users ORDER BY points DESC LIMIT 20');
$select->execute();

while($points = $select->fetch(PDO::FETCH_OBJ){ ?>
  <p><?= $points->username . ": " . $points->points; ?>
<?php } ?>

 

Lâches un like :y: ! ou pas

Link to comment
Share on other sites

Il y a 1 heure, MathisL a dit :

Order by points, pas l'id mdrrr

Oui mdr, pasque moi j'affiche jamais une colonne en principe. J'affiches toujours tout pour sa je fais ORDER BY -id depuis la dernière ID ou autres. Mais c'est exact fail de ma part, c'est bien ORDER BY points puisque lui veut afficher dans l'ordre d'une colonne.;)

Link to comment
Share on other sites

il y a une heure, UnderFR a dit :

Je comprends pas pourquoi tu order by id ... ^^

 

Voici un code tout prêt:

 

<?php

$select = $bdd->prepare('SELECT * FROM users ORDER BY points DESC LIMIT 20');
$select->execute();

while($points = $select->fetch(PDO::FETCH_OBJ){ ?>
  <p><?= $points->username . ": " . $points->points; ?>
<?php } ?>

 

Oui mdr, pasque moi j'affiche jamais une colonne en principe. J'affiches toujours tout pour sa je fais ORDER BY -id depuis la dernière ID ou autres. Mais c'est exact fail de ma part, c'est bien ORDER BY points puisque lui veut afficher dans l'ordre d'une colonne.

Link to comment
Share on other sites

il y a 1 minute, PhCmDev a dit :

Oui mdr, pasque moi j'affiche jamais une colonne en principe. J'affiches toujours tout pour sa je fais ORDER BY -id depuis la dernière ID ou autres. Mais c'est exact fail de ma part, c'est bien ORDER BY points puisque lui veut afficher dans l'ordre d'une colonne.

 

Sinon pourquoi un "-id" ?

Lâches un like :y: ! ou pas

Link to comment
Share on other sites

il y a 2 minutes, UnderFR a dit :

 

Sinon pourquoi un "-id" ?

Bah -id sa affiche le dernier ID, genre tu postes 2 articles sa va afficher le dernier ID de la table. Comme je l'ai dit c'était une fail de ma part car lui veut afficher les points (un colonne) du coup ORDER BY points. Car moi ce que j'avait donner comme code, c'est là colonne comple.

Link to comment
Share on other sites

Non ça j'avais compris, mais tu viens de m'apprendre que -id ça affiche le dernier ID ^^

Lâches un like :y: ! ou pas

Link to comment
Share on other sites

à l’instant, UnderFR a dit :

Non ça j'avais compris, mais tu viens de m'apprendre que -id ça affiche le dernier ID ^^

Ahh d'accord, oui oui j'tassure sa que marche ;)

Link to comment
Share on other sites

à l’instant, PhCmDev a dit :

Ahh d'accord, oui oui j'tassure sa que marche ;)

 

J'ai pas dit le contraire :p Je te crois

Lâches un like :y: ! ou pas

Link to comment
Share on other sites

Merci à vous, effectivement c'était très simple :-)

Je me suis pris la tête pour très peu m'enfin ça me servira de leçon :-D

 

Bonne fin de journée!

Link to comment
Share on other sites

  • 2 years later...
  • Administrateur
    Salut Lucas Orsini ,
    Ton sujet a été déplacé pour une des deux raisons suivantes :

    - Ta demande a été résolue.

    - Ton sujet se trouvait dans la mauvaise catégorie.

        
      Ceci est un message automatique.

⠀⠀Founder of Inshare.fr

⠀⠀Twitch channel moderator

⠀⠀French translator Trucksbook.eu

𝐹𝑒𝑒𝑙 𝑓𝑟𝑒𝑒 𝑡𝑜 𝑤𝑟𝑖𝑡𝑒 𝑎 𝑐𝑜𝑚𝑚𝑒𝑛𝑡

—————————————————

╱⠀⠀⠀⠀⠀⠀⠀⠀⠀Règlements⠀⠀ //⠀⠀Abonnements⠀⠀ //⠀⠀ Discord   ⠀⠀⠀⠀⠀⠀⠀⠀⠀╲

 

signature.png

Link to comment
Share on other sites

  • Administrateur
    Salut Lucas Orsini ,
    Ton sujet a été déplacé pour une des deux raisons suivantes :

    - Ta demande a été résolue.

    - Ton sujet se trouvait dans la mauvaise catégorie.

        
      Ceci est un message automatique.

⠀⠀Founder of Inshare.fr

⠀⠀Twitch channel moderator

⠀⠀French translator Trucksbook.eu

𝐹𝑒𝑒𝑙 𝑓𝑟𝑒𝑒 𝑡𝑜 𝑤𝑟𝑖𝑡𝑒 𝑎 𝑐𝑜𝑚𝑚𝑒𝑛𝑡

—————————————————

╱⠀⠀⠀⠀⠀⠀⠀⠀⠀Règlements⠀⠀ //⠀⠀Abonnements⠀⠀ //⠀⠀ Discord   ⠀⠀⠀⠀⠀⠀⠀⠀⠀╲

 

signature.png

Link to comment
Share on other sites

 Share