Dates news de la semaine et du mois précédent

Résolu
badziz Messages postés 62 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 28 juin 2011 - 26 mai 2008 à 10:29
badziz Messages postés 62 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 28 juin 2011 - 29 juin 2008 à 14:12
Salut!
je souhaite afficher les news de la semaine sur mon site internet en PHP / MySQL(sous PHPMyAdmin).
Voici ma requete pour la semaine:
SELECT * FROM news WHERE sysdate() < date < sysdate(date+7)
et pour le mois précédent:
SELECT * FROM news WHERE sysdate(date - 30) < date < sysdate()

Cela ne fonctionne pas, quelqu'un pourrait m'aider?
A voir également:

6 réponses

Farfadh Messages postés 68 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 7 juillet 2008 4
29 juin 2008 à 04:24
ERREUR DANS MES CODES DANS MON PRECEDENT MESSAGE







Voici les bonnes requêtes :
SELECT* FROM news WHERE date > SUBDATE(SYSDATE(), INTERVAL 7 DAY)
SELECT* FROM news WHERE date > SUBDATE(SYSDATE(), INTERVAL 1 MONTH)

Effectivement en demandant à la date de la news d'être au moins supérieure à la date courante, MySQL n'aurait rien renvoyé.
3
Toub63 Messages postés 12 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 27 mai 2008
27 mai 2008 à 15:01
Bonjur badziz,

Je pense que le mieux est de découper ta requète comme suit :
... WHERE Sysdate() < Date AND Date < ADDDATE(monchamp, INTERVAL 7 DAY)

idem avec le mois.

J'espère que cela t'aidera.
0
badziz Messages postés 62 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 28 juin 2011 1
29 mai 2008 à 15:59
Ma table news contient les champs id_news, news et date.

La requête donnerait ceci:
SELECT * FROM news WHERE Sysdate() < date AND date < ADDDATE(date, INTERVAL 7 DAY)

c'est ça? j'ai testé cela ne fonctionne pas malheureusement. J'ai pourtant des événements dans ma table mais je n'en ai aucun qui s'affiche...
0
badziz Messages postés 62 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 28 juin 2011 1
19 juin 2008 à 10:18
up!
quelqu'un pourrait m'aider svp?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Farfadh Messages postés 68 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 7 juillet 2008 4
29 juin 2008 à 04:20
En premier lieu, il ne faut pas se contenter de donner un code qui ne marche pas. Il faut nous donner la structure de ta table et la commenter pour nous expliquer ce qu'il y a dedans. Si tu ne le fais pas, on risque de mal comprendre ou de ne pas chercher à comprendre et du coup te donner des mauvaises réponses dans le cas où on aurait envie de t'aider.

Je vais supposer que ta table a une structure ressemblant à :
CREATE TABLE "news" (
    "date" DATETIME NOT NULL default'0000-00-00 00:00:00',
    ...
);



Sysdate() < dateest à priori incorrect

Si je comprend bien, le champs date est la date à laquelle on a posté la news. Or cette date sera toujours inférieure à la date courante. Dans ce cas de figure, ta condition est donc systématiquement fausse et MySQL ne sélectionnera jamais aucun enregistrement.

date < ADDDATE(date, INTERVAL 7 DAY) est incorrect.

Effectivement une date sera toujours différente d'elle même plus 7 jours. Ta condition est donc systématiquement fausse et MySQL ne sélectionnera jamais aucun enregistrement.


Voici la requête pour les news de la semaine :
SELECT* FROM news WHERE date > ADDDATE(SYSDATE(), INTERVAL 7 DAY)


Voici la requête pour les news du mois :
SELECT* FROM news WHERE date > ADDDATE(SYSDATE(), INTERVAL 1 MONTH)

PS : désolé de jouer mon difficile, mais serait-ce trop demander aux développeurs de ce site de fournir des cadres pour insérer les codes dans nos messages, avec si possible une coloration syntaxique automatique ?
0
badziz Messages postés 62 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 28 juin 2011 1
29 juin 2008 à 14:12
Ca fonctionne, c'est parfait!
Merci pour ton aide.
0
Rejoignez-nous