Bonjour,
je vous explique mon objectif.
J'ai un logiciel qui envoie sur mon serveur un couple $data1 $data2
-la valeur de ces couples est généralement valide entre 2 et 5 minutes.
-le logiciel, pour être certain de toujours fournir un couple à jour, renvoie les informations toutes les 5 secondes.
-un même couple peut revenir une ou plusieurs fois par jour, à plusieurs heures d'interval.
Je cherche à enregistrer tous ces couples avec le datetime de création du couple dans ma bdd mysql.
je veux pouvoir enregistrer un même couple à chaque fois qu'il est envoyé par mon logiciel, mais une seule fois durant la durée de validité de ce couple.
ex:
couples envoyés:
12h00:00 data1 - data2
12h00:05 data1 - data2
idem toutes les 5 secondes jusqu'à 12h03:52
12h03:52 data3 - data4
[...]
18h15:20 data1 - data2
18h15:25 data1 - data2
et ne prendre qu'un seul enregistrement du couple à chaque fois qu'il passe.
il faut donc que je fasse un select sur ma bb pour retrouver la derniere fois que le couple a été enregistré et qqu'il ne l'enregistre à nouveau que si ce dernier enregistrement date de + de 5 minutes...
dans mon cas de figure, unique sur meschamps ne me convient pas.J'ai donc pensé faire un select where champsdata1 = $data1 AND champsdata2 =$data2 order by id desc limit 1;
puis en php lire le date time de la ligne sortie et le comparer avec l'heure actuelle.
if (date('Y/m/d H:i:s') -datetimerecupere <= 5minutes
{}
else
{
insert dans ma bdd
}
Mais c'est là que je coince, sur comment faaire ce calcul avec strtotime, en heure je sais mais en minutes je ne trouve pas..
A moins que vous ayez une idée plus optimisée?
Merci à vous !