Dates news de la semaine et du mois précédent [Résolu]

badziz 62 Messages postés jeudi 11 mai 2006Date d'inscription 28 juin 2011 Dernière intervention - 26 mai 2008 à 10:29 - Dernière réponse : badziz 62 Messages postés jeudi 11 mai 2006Date d'inscription 28 juin 2011 Dernière intervention
- 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?
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Farfadh 68 Messages postés dimanche 1 avril 2007Date d'inscription 7 juillet 2008 Dernière intervention - 29 juin 2008 à 04:24
3
Merci
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é.

Merci Farfadh 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Farfadh
Toub63 12 Messages postés mercredi 23 mars 2005Date d'inscription 27 mai 2008 Dernière intervention - 27 mai 2008 à 15:01
0
Merci
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.
Commenter la réponse de Toub63
badziz 62 Messages postés jeudi 11 mai 2006Date d'inscription 28 juin 2011 Dernière intervention - 29 mai 2008 à 15:59
0
Merci
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...
Commenter la réponse de badziz
badziz 62 Messages postés jeudi 11 mai 2006Date d'inscription 28 juin 2011 Dernière intervention - 19 juin 2008 à 10:18
0
Merci
up!
quelqu'un pourrait m'aider svp?
Commenter la réponse de badziz
Farfadh 68 Messages postés dimanche 1 avril 2007Date d'inscription 7 juillet 2008 Dernière intervention - 29 juin 2008 à 04:20
0
Merci
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 ?
Commenter la réponse de Farfadh
badziz 62 Messages postés jeudi 11 mai 2006Date d'inscription 28 juin 2011 Dernière intervention - 29 juin 2008 à 14:12
0
Merci
Ca fonctionne, c'est parfait!
Merci pour ton aide.
Commenter la réponse de badziz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.