Lucas Orsini 139 Posted June 15, 2017 Share Posted June 15, 2017 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 post Share on other sites
UnderFR 31 Posted June 15, 2017 Share Posted June 15, 2017 J'ai pas très bien compris ton problème ^^ Link to post Share on other sites
Lucas Orsini 139 Posted June 15, 2017 Author Share Posted June 15, 2017 Please login or register to see this link. 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 post Share on other sites
ShacK 0 Posted June 15, 2017 Share Posted June 15, 2017 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 post Share on other sites
Pouney 32 Posted June 15, 2017 Share Posted June 15, 2017 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 Link to post Share on other sites
Guest Posted June 16, 2017 Share Posted June 16, 2017 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 post Share on other sites
Arwantys 628 Posted June 16, 2017 Share Posted June 16, 2017 (edited) $req = $bdd->query('SELECT * FROM users ORDER BY points DESC LIMIT 20'); while($r = $req->fetch()) { echo '{{username}} -> '.$r['points'].''; } Edited June 16, 2017 by Arwantys1 1 Link to post Share on other sites
Arwantys 628 Posted June 16, 2017 Share Posted June 16, 2017 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 Link to post Share on other sites
Arwantys 628 Posted June 16, 2017 Share Posted June 16, 2017 (edited) Si t'a besoin d'autre chose engage pv Edited June 16, 2017 by Arwantys1 Link to post Share on other sites
UnderFR 31 Posted June 16, 2017 Share Posted June 16, 2017 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 } ?> Link to post Share on other sites
Guest Posted June 16, 2017 Share Posted June 16, 2017 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 post Share on other sites
Guest Posted June 16, 2017 Share Posted June 16, 2017 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 post Share on other sites
UnderFR 31 Posted June 16, 2017 Share Posted June 16, 2017 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" ? Link to post Share on other sites
Guest Posted June 16, 2017 Share Posted June 16, 2017 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 post Share on other sites
UnderFR 31 Posted June 16, 2017 Share Posted June 16, 2017 Non ça j'avais compris, mais tu viens de m'apprendre que -id ça affiche le dernier ID ^^ Link to post Share on other sites
Guest Posted June 16, 2017 Share Posted June 16, 2017 à 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 post Share on other sites
UnderFR 31 Posted June 16, 2017 Share Posted June 16, 2017 à l’instant, PhCmDev a dit : Ahh d'accord, oui oui j'tassure sa que marche J'ai pas dit le contraire Je te crois Link to post Share on other sites
Lucas Orsini 139 Posted June 16, 2017 Author Share Posted June 16, 2017 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 post Share on other sites
Lucas Orsini 139 Posted June 16, 2017 Author Share Posted June 16, 2017 Salut, Ton sujet qui se trouvait dans Please login or register to see this link. > Please login or register to see this link. > Please login or register to see this link. a été déplacé dans Please login or register to see this link. > Please login or register to see this link. > Please login or register to see this link. > Please login or register to see this link. Ceci est un message automatique. Link to post Share on other sites
Administrateur Thomas 717 Posted July 16, 2019 Admin Administrateur Share Posted July 16, 2019 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. Link to post Share on other sites
Administrateur Thomas 717 Posted July 16, 2019 Admin Administrateur Share Posted July 16, 2019 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. Link to post Share on other sites
Recommended Posts