Faire une requête SQL selon la date

zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 6 janv. 2011 à 19:55
cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 - 6 janv. 2011 à 23:22
Bonsoir,

J'ai une table dans une base SQL contenant les champs suivants:

ID, date (VARCHAR), lat, long

La date est stockée en texte et à cette structure : "2011-01-06 19:55:00"
Actuellement, je fais une requête du type : SELECT * FROM history
mais j'aimerais bien sélectionner que les éléments dont la date se situe dans l'intervalle date1 - date2. Comment faire?
Est-ce que je suis obligé de tout sélectionner, de créer un tableau et de travailler avec les chaines de caractères php? Parce que ça me semble bien compliqué pour ce que je veux faire...

Merci d'avance et bonne soirée,
FF

2 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
6 janv. 2011 à 21:10
bonsoir

tu dois creer un champs ladate type date ou datetime dans ta table

CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ladate` datetime NOT NULL,
`lat` varchar(50) NOT NULL,
`long` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

evite le mot 'date' pour nommer ton champs je crois que c'est pas un mot reservé
mais permis ça peut faire des confusions j ai mis 'ladate'
http://dev.mysql.com/doc/refman/5.0/fr/reserved-words.html. enfin c'est une propos.

puis dans ton insert mysql
now() ecrit la date pour toi

$req="INSERT INTO tatable (id,datetime,lat,long) VALUES('',now(),'$var_lat','$var_long')"

lit ça

http://www.expreg.com/expreg_article.php?art=timestamp

...

a++
0