Afficher résultats inférieurs à la date - 5 mn

barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   -  
NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je souhaite afficher des résultats seulement s'ils ont été saisis dans les cinq dernières minutes. Alors je pense que je dois faire quelque chose comme:

if ($donnees['date'] < Now() - 5 minute){
   //CODE
}
else {
  //AUTRE CODE
}


Je vous remercie de votre aide.

1 réponse

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    D'où viennent les données ?

    Si ça vient d'une base de données, il y a moyen de filtrer directement.
    0
    1. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
       
      Oui c'est bien bien d'une base de données et ce que je souhaiterais faire c'est afficher un style lorsque les résultats ont moins de 5 minutes et un autre style lorsqu'ils ont plus de 5 minutes.
      0
    2. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      Si le type du champ est un DateTime :
      WHERE ... Champ> NOW() - INTERVAL 5 MINUTE
      0
    3. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113 > NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention  
       
      De cette façon, cela m'affiche bien une astérisque lorsqu'il y a une entrée de moins de 5 minute, mais devant tous les résultats y compris ceux qui ont plus de 5 minute.

      <!--Pour afficher une astérisque si l'entrée a moins de 5 minutes-->
                  <?php 
                  $reponse_2 = $bdd->query('SELECT *, DATE_FORMAT(date_ajout, "%d/%m/%Y") AS date  FROM fiche_client WHERE date_ajout> NOW() - INTERVAL 5 MINUTE AND id = id ');
                  while ($donnees_2 = $reponse_2->fetch()){
                      if ($donnees_2['date'] >0){ echo  '*'.htmlspecialchars($donnees['date']);}
                  }
                  ?>
      

      $donnees fait référence à ma première requête et $donnees_2 à celle ci-dessus.
      0
    4. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      $donnees_2['date'] >0
      DATE_FORMAT(date_ajout, "%d/%m/%Y") AS date

      Quelle est la logique de comparer une chaine à un entier ?
      0
    5. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113 > NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Oui mais dans ce cas, je fais comment pour formater ma date ?
      Ça, ça ne donne pas mieux:
                  <?php 
                  $reponse_2 = $bdd->query('SELECT date_ajout FROM fiche_client WHERE date_ajout> NOW() - INTERVAL 5 MINUTE AND id = id ');
                  while ($donnees_2 = $reponse_2->fetch()){
                      if ($donnees_2['date'] >0){ echo  '*'.htmlspecialchars($donnees['date']);}
                      else{echo  htmlspecialchars($donnees['date']);}
                  }
                  ?>
      0