[PHP] Comparer des Heures
                    
        
     
             
                    Alak
    
        
    
                    Messages postés
            
                
     
             
            35
        
            
                                    Statut
            Membre
                    
                -
                                     
Alain_42 Messages postés 5413 Statut Membre -
        Alain_42 Messages postés 5413 Statut Membre -
        Bonjour,
Je vous explique mon "problème", alors j'ai un formulaire ou un utilisateur réserve du matériel pour une date et une heur qu'il choisis toute ces données sont stocké dans une bdd, j'ai un petit crontab qui éxecute un .php toute les 30 minute,
j'aimerai que le script php vérifier la date et l'heure qu'il est, qu'il les compare avec les donnée des réservation et qu'il envois un mail a toute les personne qui ont réservé du matos dans les 10 minute qui suive la vérification.
Donc si la vérification est faite a 10H00 le 30/10/2008, qu'un mail soit envoyé a toute les personne ayant réservé du matériel pour le 30/10/2008 entre 10H00 et 10H10.
La tete de ma table est la suivante :
CREATE TABLE reservation (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
non VARCHAR(40),
prenom VARCHAR(40),
email VARCHAR(40),
date_rez DATE,
heur_rez TIME
);
Je pensais donc faire mon .php dans ce style :
$datenow = date("Y-m-d");
$requete = mysql_query ("SELECT * FROM reservation WHERE date_rez = " . $datenow . " AND heur_rez = ????? JE NE SAIS PAS ????);
while($res = mysql_fetch_row($requete))
{
envois de l'e-mail
}
donc le truc que j'arrive pas a faire c'est comparé et selectionné les les réservation faire pour une heure entre H et H+10 minute.
Quelqu'un peu m'aider ?
merci d'avance
                
            
                
    
    
    
        Je vous explique mon "problème", alors j'ai un formulaire ou un utilisateur réserve du matériel pour une date et une heur qu'il choisis toute ces données sont stocké dans une bdd, j'ai un petit crontab qui éxecute un .php toute les 30 minute,
j'aimerai que le script php vérifier la date et l'heure qu'il est, qu'il les compare avec les donnée des réservation et qu'il envois un mail a toute les personne qui ont réservé du matos dans les 10 minute qui suive la vérification.
Donc si la vérification est faite a 10H00 le 30/10/2008, qu'un mail soit envoyé a toute les personne ayant réservé du matériel pour le 30/10/2008 entre 10H00 et 10H10.
La tete de ma table est la suivante :
CREATE TABLE reservation (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
non VARCHAR(40),
prenom VARCHAR(40),
email VARCHAR(40),
date_rez DATE,
heur_rez TIME
);
Je pensais donc faire mon .php dans ce style :
$datenow = date("Y-m-d");
$requete = mysql_query ("SELECT * FROM reservation WHERE date_rez = " . $datenow . " AND heur_rez = ????? JE NE SAIS PAS ????);
while($res = mysql_fetch_row($requete))
{
envois de l'e-mail
}
donc le truc que j'arrive pas a faire c'est comparé et selectionné les les réservation faire pour une heure entre H et H+10 minute.
Quelqu'un peu m'aider ?
merci d'avance
        A voir également:         
- [PHP] Comparer des Heures
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Comparer prix amazon - Guide
- Meilleur prix Amazon : payer moins cher avec Amazin'Europe - Accueil - Commerce
- 24 heures chrono torrent magnet ✓ - Forum Cinéma / Télé
3 réponses
                        
                    Salut,
Il serait beaucoup plus simple de ne pas séparer les dates et les heures.
Si tu stock dans ta BD la date-heure de réservation en temps que timestamp Unix (int) tu pourras facilement faire les comparaison :
Select * from table where heure_rez between UNIX_TIMESTAMP() and UNIX_TIMESTAMP() +10*60
Mais tu peux aussi aussi utiliser le format timestamp mysql, mais ça sera un peu plus compliqué à gérer au travers de PHP.
    
                Il serait beaucoup plus simple de ne pas séparer les dates et les heures.
Si tu stock dans ta BD la date-heure de réservation en temps que timestamp Unix (int) tu pourras facilement faire les comparaison :
Select * from table where heure_rez between UNIX_TIMESTAMP() and UNIX_TIMESTAMP() +10*60
Mais tu peux aussi aussi utiliser le format timestamp mysql, mais ça sera un peu plus compliqué à gérer au travers de PHP.
                        
                    Salmut,
essayes
360 =10 minutes
    
                essayes
"SELECT * FROM reservation WHERE date_rez =' CURDATE()' AND heur_rez < 'CURTIME() - 360'";
360 =10 minutes
                        
                    Merci pour vos réponses,
J'ai deux question pourquoi 360 = 10 minute ?
et pourquoi on met un moins et pas un plus ?
heur_rez < 'CURTIME() + 360'
heur_rez < a l'heure actuel + 10 minute ?
je pourrais faire un truc genre :
"SELECT * FROM reservation WHERE date_rez =' CURDATE()' AND heur_rez IS BETWEEN 'CURTIME()' AND 'CURTIME() + 360'";
La requête serait correct?
    
                J'ai deux question pourquoi 360 = 10 minute ?
et pourquoi on met un moins et pas un plus ?
heur_rez < 'CURTIME() + 360'
heur_rez < a l'heure actuel + 10 minute ?
je pourrais faire un truc genre :
"SELECT * FROM reservation WHERE date_rez =' CURDATE()' AND heur_rez IS BETWEEN 'CURTIME()' AND 'CURTIME() + 360'";
La requête serait correct?
