Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/07/2011, 15h21   #1
Futur Membre du Club
 
KelT KUyg
Inscription : avril 2010
Messages : 85
Détails du profil
Informations personnelles :
Nom : KelT KUyg

Informations forums :
Inscription : avril 2010
Messages : 85
Points : 15
Points : 15
Par défaut Comparer une date avec current_stamp

Bonjour,

J'aimerai faire un test avec un if () mais j'ai un peu de mal, le but est de tester si la date/heure stockée dans la base de données a été stockée il y a plus d'une heure ou pas.
Dans mon insert into j'utilise CURRENT_TIMESTAMP
J'ai donc dans ma base : 2011-07-22 15:07:51

Comment demander "Si cette date/heure était il y a plus d'1 heure"

J'ai jamais utilisé CURRENT_TIMESTAMP, je suis entrain de penser à faire une séparation des caractères avec substr() (la déprime)

Merci à vous
Kel-T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2011, 00h18   #2
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
Puisqu'il faut faire une requête pour aller chercher la valeur en table, le plus simple est de laisser la base de données faire le calcul. Par exemple cette requête avec mysql:
Code :
SELECT DATE_ADD(la_colonne, interval 1 hour) > current_timestamp FROM la_table
renverra 1 si la_colonne est à moins d'une heure de l'heure courante et 0 sinon.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2011, 13h49   #3
Futur Membre du Club
 
KelT KUyg
Inscription : avril 2010
Messages : 85
Détails du profil
Informations personnelles :
Nom : KelT KUyg

Informations forums :
Inscription : avril 2010
Messages : 85
Points : 15
Points : 15
Super c'est exactement ce que je cherchais, comment récupérer cette valeur binaire ? mysql_query() renvoyant une ressource.
Kel-T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2011, 14h09   #4
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonjour,

regarde par là :

http://eusebius.developpez.com/phpmysql-base/#LIII


__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2011, 15h00   #5
Futur Membre du Club
 
KelT KUyg
Inscription : avril 2010
Messages : 85
Détails du profil
Informations personnelles :
Nom : KelT KUyg

Informations forums :
Inscription : avril 2010
Messages : 85
Points : 15
Points : 15
Merci bien.
J'aurais une dernière question, le principe que je mets en place est un système de vote, on peut revoter après une heure ou en changeant d'ip.
J'aimerai maintenant afficher "Vous pourrez revoter à 16h00"
Pour faire court j'ai ceci :
Code :
1
2
3
4
5
6
<?php
/* je sélectionne l'ip du visiteur ds la base */
$reponse = mysql_query($requete);
$ligne = mysql_fetch_array($reponse);
echo $ligne['heure'];
?>
Le champ "heure" contient le current_timestamp, comment afficher une heure de plus, pour tester j'ai fait :
echo ($ligne['heure'] + 1);
Il m'affiche que l'année +1 : 2012
Il y a donc des règles de manipulation pour ce format de date, je trouve nulpart plus de détails à ce sujet.

Merci
Kel-T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2011, 18h49   #6
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonsoir,

tu peux travailler avec DateTime :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
date_default_timezone_set("Europe/Paris");
 
// simulation resultat requete mysql
$ligne=array("heure" => "2011-07-24 17:45:00");
 
$heure_possible = date_modify(date_create($ligne["heure"]),"+1 hour");
 
if($heure_possible < date_create()) {
	echo "<h1>le vote peut être pris en compte</h1>";
}else {
	echo "<h1>vous pourrez voter à : ".date_format($heure_possible,"H\hi")."</h1>";
}
?>
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 12h00   #7
Futur Membre du Club
 
KelT KUyg
Inscription : avril 2010
Messages : 85
Détails du profil
Informations personnelles :
Nom : KelT KUyg

Informations forums :
Inscription : avril 2010
Messages : 85
Points : 15
Points : 15
Ah super merci !
Kel-T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 15h27   #8
Membre habitué
 
Homme Lucas GAUTHERON
Lycéen
Inscription : décembre 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Lucas GAUTHERON

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : décembre 2008
Messages : 106
Points : 145
Points : 145
Citation:
Envoyé par ska_root Voir le message
Bonsoir,

tu peux travailler avec DateTime :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
date_default_timezone_set("Europe/Paris");
 
// simulation resultat requete mysql
$ligne=array("heure" => "2011-07-24 17:45:00");
 
$heure_possible = date_modify(date_create($ligne["heure"]),"+1 hour");
 
if($heure_possible < date_create()) {
	echo "<h1>le vote peut être pris en compte</h1>";
}else {
	echo "<h1>vous pourrez voter à : ".date_format($heure_possible,"H\hi")."</h1>";
}
?>
On peut pas faire tout simplement :
Code :
1
2
 
<?php $heure_possible = strtotime("{$ligne['heure']} +1 hour"); ?>
?
lucas74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h17.


 
 
 
 
Partenaires

Hébergement Web