Recherche entre deux dates

Signaler
Messages postés
11
Date d'inscription
dimanche 18 février 2007
Statut
Membre
Dernière intervention
18 octobre 2010
-
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
Bonjour à tous,

Je souhaite éffectuer une recherche entre deux dates reprises dans le même champ (date) d'une table.
Et ce pour obtenir les informations du fichier d'une date  à une autre.
Mon champ date est du type timestamp.
Comment puis-je procéder ?
Qui peut m'aider ?
Merci d'avance.

11 réponses

Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
salut,

dans ta requête SQL tu met une condition :

WHERE date1>now() AND date2<now()

Si t'a besoin d'aide, MP !!!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
a, si c'est un timestamp tu créer un variable qui contient une date et tu utilise mktime pour la transformer en timestamp et après tu compare !!!

Si t'a besoin d'aide, MP !!!
Messages postés
11
Date d'inscription
dimanche 18 février 2007
Statut
Membre
Dernière intervention
18 octobre 2010

Merci pour ta réponse, mais j'y arrive pas.
Voici mon code, merci d'avance pour ton aide.
<?php


$colname1_Recordset1 = "-1";
if (isset($_GET['date'])) {
  $colname1_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['date'] : addslashes($_GET['date']);
}
$colname_Recordset1 = "-1";
if (isset($_GET['date1'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['date1'] : addslashes($_GET['date1']);
}
mysql_select_db($database_connexioncroquis, $connexioncroquis);
$query_Recordset1 = sprintf("SELECT * FROM croquis WHERE `date` > now('%s') and `date` < now('%s')", $colname_Recordset1,$colname1_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $connexioncroquis) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
en fait, je crois que tu a pris exemple sur la mauvaise réponse de je t'ai fournis, il faut que tu vérifie que le timestamp1 est plus petit que ... et que le timestamp2 est plus grand que ...

Si t'a besoin d'aide, MP !!!
Messages postés
11
Date d'inscription
dimanche 18 février 2007
Statut
Membre
Dernière intervention
18 octobre 2010

peux-tu corriger mon code ?

merci d'avance
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
re, tu veus rechercher entre de date ou entre deux heures ?

Si t'a besoin d'aide, MP !!!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
$Date = time();

$query_Recordset1 = sprintf("SELECT * FROM croquis WHERE ".$Date." >= `date_debut` AND ".$Date." <= `date_fin`",

Mais il faut que tu ai deux champs dates dans ta base : un champs "date_debut" et un champs : "date_fin" ...

Enfin bon, ça devrai marcher !!!

++

Si t'a besoin d'aide, MP !!!
Messages postés
11
Date d'inscription
dimanche 18 février 2007
Statut
Membre
Dernière intervention
18 octobre 2010

je n'ai qu'un seul champ date !

est-ce possible de faire une recherche entre deux date de ce même champ ?
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
je ne sais pas mais ce serai bien que tu en rajoute un et que tu les renome !!!

Si t'a besoin d'aide, MP !!!
Messages postés
11
Date d'inscription
dimanche 18 février 2007
Statut
Membre
Dernière intervention
18 octobre 2010

Est-ce que quelqu'un peut me donner la solution pour effectuer une recherche entre deux date qui sont comprises dans le même champ.
Merci d'avance
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
Re, je crois que sinon si ton champs est de type text ou varchar tu peut mettre un truc du genre : 15/02/2000:16/02/2000 et après il faudra utiliser un objet de type regex pour séparer les deux date, après tu compare avec la fonction sql now() !

a++

Si la réponse vous convient, pensez : Réponse accepté !