Page 1 sur 2
Encadrer une date
Posté : 02 oct. 2005, 15:16
par racegamers
Bjs,
Je voudrais afficher les infos d'une table, de l'heure du serveur (H) a H+ 7 jours (les donnes qui vont de maintenant a dans 7 jours)
Comment creer cette requette ?
Ma date est au format 'datetime'
Merci car je ne vois vraiment pas comment faire cette requette

Posté : 02 oct. 2005, 15:53
par ouckileou
salut,
regarde dans la FAQ, il y a un sujet "quelques manipulations sur les dates" qui devrait te donner des pistes
Posté : 02 oct. 2005, 16:36
par racegamers
Merci de ta réponse.
Oui, j'ai deja regardé dans les tutoriaux
http://www.phpfrance.com/tutoriaux/inde ... r-une-date
mais il y a pas ce que je cherche

(ou j'ai pas vu en tout les cas)
Posté : 02 oct. 2005, 16:53
par ouckileou
non pas dans les tutoriaux, dans la
FAQ, sur le forum
ce sujet :
Quelques petites manipulations avec les dates (PHP/MySQL)
le point numéro 4 devrait t'aider
Posté : 02 oct. 2005, 17:42
par racegamers

Merci
J'ai fais un truc comme ca :
SELECT DATE_FORMAT(limite,'%e/%m %Hh%i') as D, objet FROM nuke_wb_prono_match WHERE DATE_ADD(NOW(),INTERVAL 5 DAY) order BY DATE_ADD ASC
Mais ca marche pas

Posté : 02 oct. 2005, 20:56
par ouckileou
ta condition ne correspond à rien
cette ligne :
DATE_ADD(NOW(),INTERVAL 5 DAY)
te renvoie la date d'ajourd'hui + 5 jours
mais il faut que tu la compares avec une date de ta ligne pour en faire une condition
Posté : 02 oct. 2005, 21:43
par ouckileou
Je voudrais afficher les infos d'une table, de l'heure du serveur (H) a H+ 7 jours (les donnes qui vont de maintenant a dans 7 jours)
traduisons ce que tu souhaites faire en français :
sélectionner : les colonnes que tu veux
dans : la table
où : la colonne de date
est : supérieure ou égale à maintenant
et est : inférieur ou égale à maintenant+7jours
donc à partir de là, il te suffit de traduire en SQL
tu sais tout faire : maintenant, maintenant+7jours et pour la condition tu peux utiliser BETWEEN plutôt que deux opérateurs (>= et <=)
A toi de jouer

Posté : 02 oct. 2005, 22:28
par racegamers
Merci encore de ton aide
Bon
SELECT DATE_FORMAT(limite,'%e/%m %Hh%i') as D, objet FROM nuke_wb_prono_match WHERE limite = DATE_ADD(NOW(),INTERVAL 5 DAY)
Ca me donne 0 enregistrement (alors qu'il devrait y en avoir 2)
DOnc, ca doit pas etre ca encore

Posté : 02 oct. 2005, 22:30
par ouckileou
ta requête sélectionne les lignes dont la date est égale à aujourd'hui + 5 jours
d'après ton premier message, ce n'est pas vraiment ce que tu souhaites faire...
relis mon message précédent, si j'ai bien résumé ton problème, prend chaque étape et traduit la en SQL, tu devrais y arriver
Posté : 02 oct. 2005, 22:44
par pjl
Je dirais juste 2 choses :
- c'est une question concernant les bases de données donc elle n'a rien à faire dans le forum PHP ;
- si tu avais regardé dans le bon forum, tu aurais vu qu'une question similaire a été posée il y a très peu de temps.
Posté : 02 oct. 2005, 22:50
par racegamers
OK ouckileou

Un truc comme ca alors ?
SELECT DATE_FORMAT( limite, '%e/%m %Hh%i' ) AS D, objet
FROM nuke_wb_prono_match
WHERE limite
BETWEEN NOW( )
AND DATE_ADD( NOW( ) , INTERVAL 7
DAY )
Désolé pjl, mais j'ai pas trouvé ... et désolé si je me suis trompé de forum

Posté : 02 oct. 2005, 22:55
par ouckileou
je pense que c'est quelque chose comme ça oui, mais teste la toi-même pour voir si les résultats correspondent à ce que tu attends
Posté : 02 oct. 2005, 23:01
par racegamers
je pense que c'est quelque chose comme ça oui, mais teste la toi-même pour voir si les résultats correspondent à ce que tu attends
Oui, j'ai testé et c'est bon
AU point de vu codage, c'est bon aussi ?
SI oui, alors, probleme RESOLU et
MERCI a toi !!!!!!!!!!!!!!!!!!!!!!!! 
Posté : 02 oct. 2005, 23:03
par ouckileou
AU point de vu codage, c'est bon aussi ?
je pense.... en tout cas c'est comme ça que moi je l'aurais fait

Posté : 02 oct. 2005, 23:07
par racegamers
Ok, RESOLU alors
1000000000000000000000000000 MERCI !!!!!!!!!!!!!!!!!!!!!!!!!