Comparaison de date

[Résolu]
Signaler
Messages postés
20
Date d'inscription
lundi 18 avril 2011
Statut
Membre
Dernière intervention
6 juillet 2011
-
Messages postés
20
Date d'inscription
lundi 18 avril 2011
Statut
Membre
Dernière intervention
6 juillet 2011
-
Bonjour à tous,

je cherche à comparer une date, qui est du format string dans ma base mysql, avec la date du jour mais je n'y arrive pas.

Voici le code que je tape :
if (isset($_GET["op2"]))
        {
          $query="SELECT * FROM $table WHERE id IS NOT NULL";
       if (isset($_GET["noms_appli"]))
          {
  $noms_appli = $_GET["noms_appli"];
              $query.=" AND noms_appli LIKE '$noms_appli%'";
          }
         
          $query.=" ORDER BY noms_appli";
  
          $res=mysql_query($query) or die ("erreur");


          while($val = mysql_fetch_array($res))
          {		
              $id = $val['id'];
  $noms_appli = $val['noms_appli'];
              $remarque_tpr = $val['remarque_tpr'];
              $decision_cocsa = $val['decision_cocsa'];
  $commentaire = $val['commentaire'];
  $date_cocsa = $val['date_cocsa'];
  $entite = $val['entite'];
  $date_liv_prev = $val['date_liv_prev'];
  $date_liv = $val['date_liv'];
  $date_valid = $val['date_valid'];
          

  
  $datequery="select STR_TO_DATE('date_cocsa','%d/%m/%Y')";
  $resdate=mysql_query($datequery) or die ("erreur");
  

  $jourquery="select CURDATE()";
  $resjour=mysql_query($jourquery) or die ("erreur");

  if ($resdate < $resjour)
{echo "date passée";}
else
{echo "date pas encore passée";}

  }}


Cela me met date passée à chaque fois même si ce n'est pas le cas

3 réponses

Messages postés
20
Date d'inscription
lundi 18 avril 2011
Statut
Membre
Dernière intervention
6 juillet 2011
1
en cherchant j'ai trouvé
$date=mysql_query("SELECT STR_TO_DATE( date_cocsa, '%d/%m/%Y' ) FROM tpr_appli WHERE noms_appli = '$noms_appli'") or die ("erreur");
$rowdate = mysql_fetch_row($date);
$jour=mysql_query("SELECT CURDATE()") or die ("erreur");
$rowjour = mysql_fetch_row($jour);




  if ($rowdate[0] < $rowjour[0])
{echo "date passée";}
else
{echo "date pas encore passée";}


car comme je viens de l'apprendre mysql_query ne retourne qu'un tableau de valeurs qu'il faut exploiter et pas directement la valeur.
Messages postés
20
Date d'inscription
lundi 18 avril 2011
Statut
Membre
Dernière intervention
6 juillet 2011
1
J'ai fait une erreur quand j'ai copié le code il y a un $ devant date_cocsa sur la ligne de $datequery
Messages postés
20
Date d'inscription
lundi 18 avril 2011
Statut
Membre
Dernière intervention
6 juillet 2011
1
j'ai essayé avec de code aussi mais le résultat est le même :

if ($date=mysql_query("SELECT STR_TO_DATE( date_cocsa, '%d/%m/%Y' ) FROM tpr_appli WHERE noms_appli = '$noms_appli'") < $jour=mysql_query("SELECT CURDATE()"))
{echo "date passée";}
else
{echo "date pas encore passée";}