SELECT de la date la plus proche du jour actuel - PHP - Programmation
Marsh Posté le 18-05-2006 à 20:53:07
oli1987 a écrit : |
La date de demain, quoi ?
SELECT DATE_ADD(CURDATE() , INTERVAL 1 DAY);
Citation : ainsi que la date passée la plus proche. |
SELECT DATE_ADD(CURDATE() , INTERVAL -1 DAY);
Marsh Posté le 18-05-2006 à 20:55:13
non pas de demain ...
En fait, ma table reprend des dates de différents matches qui ont lieu a une semaine voire deux semaines d'intervalle .... ca dépend ... 7 jours ou 8 jours voire 6 parfois ... ca dépend
Marsh Posté le 18-05-2006 à 21:00:14
T'as juste à remplacer CURDATE() par la date en question, donc.
Marsh Posté le 18-05-2006 à 21:03:25
oui mais je voudrais que ca se fasse automatiquement .. pas moyen ???
Marsh Posté le 18-05-2006 à 21:07:43
SELECT DATE_ADD(date, INTERVAL 1 DAY) [FROM ...] prend la date du lendemain de 'date', que veux-tu de plus automatique ?
(D'ailleurs, il me semble qu'on peut écrire ça comme ça : SELECT date + INTERVAL 1 DAY)
Marsh Posté le 18-05-2006 à 21:15:16
en fait, on est le 18-05-2006 ...
Si un match a lieu le 23-05-2006 et celui après le 30-05-2006, ce code là ne fonctionnera pas ...
Marsh Posté le 18-05-2006 à 21:32:48
Ok ok désolé j'avais pas compris... j'avais dû lire à moitié ton dernier message.
Essaie qqchose du style :
select min(date) from matches where date > [date_en_question]
Eventuellement remplacer [date_en_question] par une sous-requête qui va la chercher, si tu ne l'as pas avant.
Marsh Posté le 18-05-2006 à 22:23:21
En fait, c'est plus une question de français que de SQL
Ce qu'il faut voir, c'est que la date future la plus proche, c'est tout simplement la première des dates supérieures, triées par ordre croissant
SELECT *
FROM la_table
ORDER BY la_date ASC
LIMIT 1
Bon, si tu veux juste la date future la plus proche et pas la ligne complète qui la contient, la solution du :
SELECT MIN(la_date) FROM la_table WHERE la_date > date_reference
est surement plus efficace
Marsh Posté le 18-05-2006 à 23:19:09
Pouvez vous me dire pourquoi la date passée s'affiche au lieu de la future ???
Code :
|
Marsh Posté le 18-05-2006 à 23:30:54
Bien sur, le champ "dategame" à bien le type "DATE" dans la table
Marsh Posté le 18-05-2006 à 23:34:17
mon DATE_FORMAT ne sert à rien, mais ça ne change rien au final ...
Marsh Posté le 18-05-2006 à 23:41:04
Essaie avec la requête :
SELECT dategame, '$date' FROM games WHERE dategame > '$date' AND cat = 1 ORDER BY dategame ASC LIMIT 1
et pour l'affichage :
<?php echo 'dategame:' . $row1[0] . ',date_ini:' . $row[1]; ?>
Parce que bon, s'il te sort un "dategame" antérieur à $date alors qu'il y a "dategame > '$date'" dans le WHERE ...
Marsh Posté le 18-05-2006 à 23:49:54
comme date, il m'affiche 2006-05-07 et non 2006-05-20 ...
Et la requête a pas l'air fausse pourtant
Marsh Posté le 19-05-2006 à 11:51:18
La requête que je t'ai demandé d'exécuter, elle renvoie 2 dates
Marsh Posté le 18-05-2006 à 20:47:13
Bonjour,
J'ai une table avec différentes données dont plusieurs dates.
Dans un SELECT, j'aimerais aller rechercher la date future la plus proche du jour actuel, ainsi que la date passée la plus proche.
Est ce possible ? Merci d'avance