Mastoke est le nouveau responsable modération. ×
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 !

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 post
Share on other sites

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

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

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

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
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
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
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
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
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
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
à 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
à 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

Link to post
Share on other sites

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
  • 2 years later...
  • Administrateur
Admin
    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
Admin
    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