1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| /* L'idée est la suivante, tu fais d'abord une requête qui va te chercher la dernière réservation de ce client
tu testes déjà ça dans ton PHPMyAdmin avec un vrai numéro de licence
ici on pose que le numéro de licence est 25421
Et on pose que ton champ datec est un datetime
*/
SELECT max(datec) as der_reservation
FROM reserv
where nlicence=25421 and datec is not null
group by nlicence;
/*Ensuite, si ça fonctionne, tu oublies la requête ci-dessus, et tu passes à la vraie requête.
Tu compares la date choisie par le client avec sa dernière réservation.
ici, on pose que la date choisie par le client est le 03/06/2020 15H
Il te faut prévoir (premier cas) le client qui réserve pour la première fois.
Et prévoir (dernier cas) n'importe quelle sorte d'anomalie.
*/
SELECT
case
when max(datec) is NULL then concat("Réservation pour le ", date_format("2020-06-03 15:00:00", "%d/%m/%Y %H:%i:%s")," autorisée")
when datediff(max(datec),"2020-06-03 15:00:00") >= 7 then concat("Réservation pour le ", date_format("2020-06-03 15:00:00", "%d/%m/%Y %H:%i:%s")," autorisée")
when datediff(max(datec),"2020-06-03 15:00:00") < 7 then concat ("Déjà réservé le ", date_format("max(datec)", "%d/%m/%Y"), ". Prochaine réservation possible : après le ", date_add(max(datec),interval 7 day))
else "anomalie"
end as check_date
FROM reserv
where nlicence=25421 and datec is not null
group by nlicence; |
Partager