PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : MySQL, PostgreSQL, etc... » Les plus populaires du mois » 26-06-2010 16:57:58

Merci pour votre aide.

Le gros problème de l'incrémentation est qu'il m'est impossible de connaître "les meilleurs du mois". La solution la plus logique serait de fonctionner avec 2 tables, une qui contient le ID, titre, l'url et l'autre qui contient IDtitre, date. Je ferais donc 1 insert qui ne contiendrait qu'un INT et une DATE.

Par contre, ma requête se fera toujours sur les champs insérés dans le mois en cours donc leur quantité restera limité lors de la requête. C'est vrai que j'ai de la redondance dans mes tables en utilisant cette méthode. Je me tate...

Je vais voir avec la première solution dont j'ai parlé, et je verrais d'ici quelques mois si j'ai besoin de passer avec une version plus légère ou non.

#2 Re : MySQL, PostgreSQL, etc... » Les plus populaires du mois » 26-06-2010 16:57:58

Salut Pierrot,

La solution que j'ai postée au dessus de ton message contient 1 seule table de 3 colonnes et 1 seule requête d'insertion (pas besoin d'incrémenter). Est-ce qu'il y a une raison pour laquelle tu préconises cette solution plutôt que la mienne ?

#3 Re : MySQL, PostgreSQL, etc... » Les plus populaires du mois » 26-06-2010 16:57:58

Salut,
Sur mon site, j'ai plusieurs vidéo, et à chaque fois que quelqu'un clique sur le lien de cette vidéo, il faudrait qu'elle gagne +1 en popularité. En fait, en discuttant avec un collègue qui est bien au courant du SQL, j'ai réussi à trouver la solution.

Donc à chaque fois qu'une vidéo est vue, j'ajoute une entrée dans la BD (date,titre,url)

Ensuite pour trouver lesquelles sont les plus populaires du mois, je fais la requête suivante :

select titre,url, count(titre) as titrecount FROM films WHERE date BETWEEN '".$lastmonth."' and '".$today."' GROUP BY titre order by titrecount DESC LIMIT 0,10

Le résultat montre les 10 vidéos les plus populaires en ordre décroissant. Le truc était de faire la bonne requête. SQL c'est vraiment bien quand on maîtrise...

#4 MySQL, PostgreSQL, etc... » Les plus populaires du mois » 26-06-2010 16:57:58

macfred
Réponses : 8

Salut,

J'ai besoin de classer des vidéos sur mon site en les organisant par "les plus populaires du mois" mais aussi de la semaine et du jour. Je me demande comment construire ma base de données pour pouvoir retrouver cette information.

J'ai pensé lister toutes les vidéos par date dans une seule table, mais lorsque je vais faire ma requête, je vais avoir beaucoup de lignes pour pas grand chose et je sais pas vraiment comment additionner les lignes pour les classer en populaires. Alors j'ai aussi pensé à incrémenter un compteur, mais dans ce cas là, c'est impossible d'attribuer une date à cette incrémentation...

Quelqu'un a-t-il une idée ou des suggestions pour m'aider à avancer dans ma réflexion ?

Merci !

Pied de page des forums

Propulsé par FluxBB