Encore les dates avec MySQL

Résolu
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 - 12 avril 2006 à 22:51
SkySkillz Messages postés 4 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 27 mars 2008 - 25 mars 2008 à 17:04
Salut,
J'aimera séléctionner tout ce qui as entre le 2006-4-10 et le 2006-4-17
Dans ma table SQL j' ai une date de commencement et une date de fin (d' un evenement)
date_start et date_end
Leur type : datetime (oui je sais on peut gagner de la place en transformant le tout en un chiffre dans un int) (format : 0000-00-00 00:00:00)

date_start et date_end peuvent commencer avant le 2006-4-10 et finir après le 2006-4-17
Voici une ligne dans ma table
"id","date_start", "date_end", "sujet"
1, "2006-04-5", "2006-05-28", "Mon sujet"

Voici mon code qui marche po :-(
SELECT `id`,`date_start`,`date_end`,`sujet` FROM `calendrier` WHERE ("2006-4-10">=`date_start` AND `date_start`<="2006-4-17") OR ("2006-4-10">=`date_end` AND `date_end`<="2006-4-17");
Où est le bug ?
@+ et merci


Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.

5 réponses

ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
13 avril 2006 à 13:32
Salut,
J' ai trouvé ;-)
pour ceux que ça intéresse voilà le code :
SELECT `id`,`date_start`,`date_end`,`titre`,`msg` FROM `calendrier` WHERE (`date_start`>="2006-4-10" AND `date_start`<="2006-4-17") OR (`date_start`<="2006-4-17" AND `date_end`>="2006-4-17") OR (`date_end`>="2006-4-10" AND `date_end`<="2006-4-17");
@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
3
SkySkillz Messages postés 4 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 27 mars 2008
20 mars 2008 à 16:38
Voilà, je n'ai pas eu le même problème que toi, mais je cherche à connaitre la requête SQL que tu as utilisé pour creer 2 variables de type DATETIME.
TIMESTRAMP n'accepte qu'un seul champ tel que:

var1 TIMESTRAMP NULL default CURRENT_TIMESTRAMP;
//var2 TIMESTRAMP NULL default CURRENT_TIMESTRAMP; (Génére une erreur de type doublon TIMESTRAMP)
J'ai été obligé pour mon 2ème champ de mettre:
var2 TIMESTRAMP NULL default NULL,
Je contourne le problème, tant que je peux ensuite réalimenter les champs par INSERT INTO ça ira.
Mais au début, je désirais entrer la date par DATE ou DATETIME ou même TIME, sous la forme ('d/m/y H:i').
Malheureusement impossible de générer la requête de création de table avec ça, je dois avoir un problème de codage...

var DATE('d/m/y H:i') //Erreur
var DATETIME('d/m/y H:i') //Erreur
var TIME('d/m/y H:i) //Erreur

var DATE NULL default 'd/m/y H:i';//Erreur
var DATETIME NULL default 'd/m/y H:i'; //Erreur
var TIME NULL default 'd/m/y H:i'; //Erreur

Merci d'avance si quelqu'un me trouve la bonne syntaxe pour avoir la date sous cette forme en création de table SQL.
J'utilise MySQL 5.1 et PhpMyAdmin 2.11.6.
0
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
21 mars 2008 à 11:07
Salut !

la requette c 'est :
`champs_1` DATETIME NOT NULL

@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi. 
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
0
SkySkillz Messages postés 4 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 27 mars 2008
25 mars 2008 à 14:37
champ DATETIME NOT NULL
Ne fonctionne pas sur MySQL 5.1.
0

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

Posez votre question
SkySkillz Messages postés 4 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 27 mars 2008
25 mars 2008 à 17:04
J'ai contourné le problème j'ai creer une nouvelle table pour les dates.
0
Rejoignez-nous