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

Fermé
barale61 Messages postés 1203 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 24 janvier 2023 - 14 juil. 2016 à 19:10
NHenry Messages postés 15039 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 7 février 2023 - 19 juil. 2016 à 22:59
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

NHenry Messages postés 15039 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 7 février 2023 333
14 juil. 2016 à 19:23
D'où viennent les données ?

Si ça vient d'une base de données, il y a moyen de filtrer directement.
0
barale61 Messages postés 1203 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 24 janvier 2023 109
15 juil. 2016 à 23:12
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
NHenry Messages postés 15039 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 7 février 2023 333
16 juil. 2016 à 12:19
Si le type du champ est un DateTime :
WHERE ... Champ> NOW() - INTERVAL 5 MINUTE
0
barale61 Messages postés 1203 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 24 janvier 2023 109 > NHenry Messages postés 15039 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 7 février 2023
17 juil. 2016 à 17:09
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
NHenry Messages postés 15039 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 7 février 2023 333
17 juil. 2016 à 18:27
$donnees_2['date'] >0
DATE_FORMAT(date_ajout, "%d/%m/%Y") AS date

Quelle est la logique de comparer une chaine à un entier ?
0
barale61 Messages postés 1203 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 24 janvier 2023 109 > NHenry Messages postés 15039 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 7 février 2023
Modifié par barale61 le 18/07/2016 à 12:37
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