2010-07-25 6 views
0

hey, je me demande comment récupérer les données de ma base de données en utilisant php pour obtenir les meilleures chansons aujourd'hui.Récupérer des données Mysql/Php où date

En ce moment, je suis juste obtenir les meilleures chansons en utilisant

$result = mysql_query("SELECT tag, COUNT(*) AS the_tags FROM tags GROUP BY tag ORDER BY the_tags DESC LIMIT 16"); 

je stocke également la date dans le aswell de table tags, dans le format

07-25-2010

donc Mois - Jour - Année

Comment puis-je l'avoir limiter les résultats aux balises avec la date d'aujourd'hui?

Merci :)

Répondre

2

Une autre façon de le faire:

"SELECT tag, COUNT(*) AS the_tags FROM tags WHERE `date` = '" . date('m-d-Y') . "' GROUP BY tag ORDER BY the_tags DESC LIMIT 16"

Mais je préfère utiliser la date de MySQL (donc je dirais voir le poste de artefacto)

1
...FROM tags WHERE date_field = DATE_FORMAT(CURDATE(), '%m-%d-%Y')... 
+0

devrait pas être « % m-% d-% Y » comme il a dit qu'il stockait la date mois - jour - année? Sinon, c'est la meilleure approche. – User123342234

+0

@Josh Oui, merci. – Artefacto

-2

I Je stocke également la date dans la table des étiquettes, dans le format 07-25-2010

La seule solution est de changer ce format ridicule à un format approprié - AAAA-MM-JJ et de le stocker dans le champ approprié de type DATE. Plus tôt vous le changez, moins de maux de tête vous aurez à l'avenir. Vous n'avez juste pas d'autre moyen. C'est ABC de l'architecture de base de données. Il y aura des tonnes de cas où votre propre format ne fonctionnera tout simplement pas. Et la base de données devra le convertir à chaque fois pour chaque ligne de la table. C'est le moyen le plus efficace de tuer votre base de données.
Après changer votre code deviennent

$sql = "SELECT tag, COUNT(*) AS the_tags FROM tags WHERE tag_date = curdate() 
        GROUP BY tag ORDER BY the_tags DESC LIMIT 16" 
$result = mysql_query($sql) or trigger_error(mysql_error().$sql); 
+1

Ce n'est pas la seule façon de le résoudre. Je suis d'accord que stocker MM-DD-YYY est une idée terrible cependant. –

+0

oh ouais. Il y a aussi des milliers de façons de vous tirer une balle dans la jambe. bien sûr. –

+0

Si l'exigence est de se tirer une balle dans la jambe, c'est bien d'avoir des options (ambulance en veille, assise, pas sur une corniche etc.): P – Wrikken

Questions connexes