Requete sql
Résolu/Fermé
Kroma
Messages postés
44
Date d'inscription
vendredi 7 novembre 2008
Statut
Membre
Dernière intervention
17 mai 2009
-
22 déc. 2008 à 07:38
Bikarfioul Messages postés 40 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 28 juin 2010 - 26 déc. 2008 à 07:26
Bikarfioul Messages postés 40 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 28 juin 2010 - 26 déc. 2008 à 07:26
A voir également:
- Requete sql
- Sql lister les tables ✓ - Forum Programmation
- Blob sql ✓ - Forum Webmastering
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Récupération serveur sql - Télécharger - Gestion de données
- La requête graphql n’est pas autorisée facebook - Forum Facebook
15 réponses
Utilisateur anonyme
22 déc. 2008 à 08:51
22 déc. 2008 à 08:51
bonjour,
il suffit peut être de modifier la requête de manière à extraire les 5, en incluant dans le tri le n° de semaine.
il suffit peut être de modifier la requête de manière à extraire les 5, en incluant dans le tri le n° de semaine.
Bikarfioul
Messages postés
40
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
28 juin 2010
5
22 déc. 2008 à 09:00
22 déc. 2008 à 09:00
Salut !
Et si tu tente d'interroger ta base en fonction de la semaine antérieur à ce jour.
$reponse = mysql_query("SELECT * FROM ma_table WHERE semaine>'$semaine-1' AND annee='$annee' ORDER BY vote DESC ");
Et si tu tente d'interroger ta base en fonction de la semaine antérieur à ce jour.
$reponse = mysql_query("SELECT * FROM ma_table WHERE semaine>'$semaine-1' AND annee='$annee' ORDER BY vote DESC ");
Kroma
Messages postés
44
Date d'inscription
vendredi 7 novembre 2008
Statut
Membre
Dernière intervention
17 mai 2009
2
22 déc. 2008 à 09:14
22 déc. 2008 à 09:14
Merci beaucoup pour votre aide. Mais j'ai du mal m'exprimer. Je vais donner un exemple : Si nous sommes le 22 décembre j'aimerais que mon TOP 5 prenne en compte le 16, 17, 18, 19, 20, 21 et le 22 décembre pour le classement, ce qui nous fait un TOP 5 des 7 derniers jours.
J'espère avoir été un peu plus clair.
J'espère avoir été un peu plus clair.
Bikarfioul
Messages postés
40
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
28 juin 2010
5
22 déc. 2008 à 09:27
22 déc. 2008 à 09:27
le problème de notre coté c'est que l'on ne connait pas la structure de ta base.
La requête que j'ai indiqué (reponse 2) te remonte les resultats de la semaine dernière à la semaine du jour.
Ensuite c'est sur ton résultat que tu dois faire un tri.
Mais si ta base disposait d'un champ date cela serait encore mieux ;o)
La requête que j'ai indiqué (reponse 2) te remonte les resultats de la semaine dernière à la semaine du jour.
Ensuite c'est sur ton résultat que tu dois faire un tri.
Mais si ta base disposait d'un champ date cela serait encore mieux ;o)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Kroma
Messages postés
44
Date d'inscription
vendredi 7 novembre 2008
Statut
Membre
Dernière intervention
17 mai 2009
2
22 déc. 2008 à 09:31
22 déc. 2008 à 09:31
Ah ok excusez moi pour mon manque d'information. Ma base a le champs suivant :
date : 22/12/2008
date : 22/12/2008
Bikarfioul
Messages postés
40
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
28 juin 2010
5
22 déc. 2008 à 09:59
22 déc. 2008 à 09:59
Alors je conseil d'ajouter avant ta requete une variable indentifiant la date il y'a 7 jours
$jmoinSept = date ("Y/m/d", mktime(0,0,0,date("m"),date("d")-7,date("Y")));
Puis d'instancer ta requete comme suit :
$reponse = mysql_query("SELECT * FROM ma_table WHERE date >= '$jmoinSept ' ORDER BY vote DESC LIMIT 0,5");
$jmoinSept = date ("Y/m/d", mktime(0,0,0,date("m"),date("d")-7,date("Y")));
Puis d'instancer ta requete comme suit :
$reponse = mysql_query("SELECT * FROM ma_table WHERE date >= '$jmoinSept ' ORDER BY vote DESC LIMIT 0,5");
Kroma
Messages postés
44
Date d'inscription
vendredi 7 novembre 2008
Statut
Membre
Dernière intervention
17 mai 2009
2
22 déc. 2008 à 10:15
22 déc. 2008 à 10:15
Merci sincèrement pour ton aide mais je n'y arrive pas encore. Il ne doit pas manquer grand chose.
J'ai essayé avec ta requête et ça n'a pas fonctionné alors j'ai essayé en remettant le jour en premier dans la date :
$jmoinSept = date ("d/m/Y", mktime(0,0,0,date("d")-7,date("m"),date("Y")));
Mais ça ne marche pas non plus. Ça m'affiche des messages du mois de novembre et de décembre.
J'ai essayé avec ta requête et ça n'a pas fonctionné alors j'ai essayé en remettant le jour en premier dans la date :
$jmoinSept = date ("d/m/Y", mktime(0,0,0,date("d")-7,date("m"),date("Y")));
Mais ça ne marche pas non plus. Ça m'affiche des messages du mois de novembre et de décembre.
Bikarfioul
Messages postés
40
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
28 juin 2010
5
22 déc. 2008 à 10:53
22 déc. 2008 à 10:53
le truc est peut être du aux type de ta donnée.
Quand tu injectes ton nouveau vote la date est généré par le système lui même ?
du style INSERT INTO .... date = now() ;
si ce n'est pas le cas il se peut que le problème vienne de là.
Mais je vais quand même testé de mon coté du temps de midi.
Quand tu injectes ton nouveau vote la date est généré par le système lui même ?
du style INSERT INTO .... date = now() ;
si ce n'est pas le cas il se peut que le problème vienne de là.
Mais je vais quand même testé de mon coté du temps de midi.
Bikarfioul
Messages postés
40
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
28 juin 2010
5
22 déc. 2008 à 12:43
22 déc. 2008 à 12:43
La solution est sous nos yeux :)
tu as changé le concepteur du mktime https://www.php.net/mktime
int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
tu as saisie :
Alors que tu aurais dû laisser comme et juste corriger l'interprétation du date :
Tu n'as plus qu'a tester ;o)
tu as changé le concepteur du mktime https://www.php.net/mktime
int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
tu as saisie :
$jmoinSept = date ("d/m/Y", mktime(0,0,0,date("d")-7,date("m"),date("Y")));
Alors que tu aurais dû laisser comme et juste corriger l'interprétation du date :
$jmoinSept = date ("d/m/Y", mktime(0,0,0,date("m"),date("d")-7,date("Y")));
Tu n'as plus qu'a tester ;o)
$reponse = mysql_query("SELECT * FROM ma_table WHERE date >= '$jmoinSept ' ORDER BY vote DESC LIMIT 0,5");
Kroma
Messages postés
44
Date d'inscription
vendredi 7 novembre 2008
Statut
Membre
Dernière intervention
17 mai 2009
2
22 déc. 2008 à 12:52
22 déc. 2008 à 12:52
Tu vas me prendre pour un boulet mais cela ne fonctionne toujours pas. J'ai toujours des message du mois de novembre qui s'affiche.
Bikarfioul
Messages postés
40
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
28 juin 2010
5
22 déc. 2008 à 13:20
22 déc. 2008 à 13:20
Fais des ECHO sur tes valeurs car là je ne comprends pas la raison.
ECHO $jmoinSept;
ECHO $reponse[date];
tu ne devrais avoir que 5 retours de $reponse et la date du 15/12/2008 pour $date.
ECHO $jmoinSept;
ECHO $reponse[date];
tu ne devrais avoir que 5 retours de $reponse et la date du 15/12/2008 pour $date.
Kroma
Messages postés
44
Date d'inscription
vendredi 7 novembre 2008
Statut
Membre
Dernière intervention
17 mai 2009
2
22 déc. 2008 à 14:03
22 déc. 2008 à 14:03
Tu dois avoir mis le doigt sur le problème.
Je n'y comprends plus rien.
le ECHO $reponse[date]; ne me donne rien alors que le ECHO $jmoinSept; m'affiche 15/12/2008
Pourtant j'ai bien un champs qui se nomme date dans ma table.
Je n'y comprends plus rien.
le ECHO $reponse[date]; ne me donne rien alors que le ECHO $jmoinSept; m'affiche 15/12/2008
Pourtant j'ai bien un champs qui se nomme date dans ma table.
Bikarfioul
Messages postés
40
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
28 juin 2010
5
22 déc. 2008 à 21:31
22 déc. 2008 à 21:31
le ECHO $reponse[date]; tu la testé avec des quotes ?
ECHO $reponse['date'];
ECHO $reponse['date'];
Kroma
Messages postés
44
Date d'inscription
vendredi 7 novembre 2008
Statut
Membre
Dernière intervention
17 mai 2009
2
23 déc. 2008 à 09:39
23 déc. 2008 à 09:39
Oui tout a fait j'ai testé avec les cotes.
Bikarfioul
Messages postés
40
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
28 juin 2010
5
26 déc. 2008 à 07:26
26 déc. 2008 à 07:26
Il ne te reste plus qu'a faire un
echo nl2br(print_r($reponse,true));
pour avoir tous les retours de $reponse.
Tu fais quand même bien un While de ton résultat après ton mysql_query ?
echo nl2br(print_r($reponse,true));
pour avoir tous les retours de $reponse.
Tu fais quand même bien un While de ton résultat après ton mysql_query ?