J'ai un événement qui fini à une date et une heure donnée. Ex 20:00 le
20/01/07.
Je n'arrive pas a faire en sorte que l'événement ne soit plus affiché à
20:00:01, il reste affiché jusqu'à 23:59:59 le 20/01/07.
ce qui est écrit dans mon fichier :
$result = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') AS
date FROM evenements WHERE date > CURRENT_DATE AND type =
'".$_GET['pays']."' ORDER BY date ASC LIMIT 1");
Quelqu'un aurai t il la fonction magique ?
Merci d'avance pour les futures heures de sommeil ainsi économisées.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Bonjour,
J'ai un événement qui fini à une date et une heure donnée. Ex 20:00 le 20/01/07. Je n'arrive pas a faire en sorte que l'événement ne soit plus affiché à 20:00:01, il reste affiché jusqu'à 23:59:59 le 20/01/07.
Je suis quasi ignare en SQL, mais est-ce que le problème ne viendrait pas du nom « date » identique aux deux premiers endroits de la requête ?
... DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') AS date ... WHERE date ... ^^^^ ^^^^
(Par ailleurs, si la solution existe vraiment en SQL, le groupe consacré aux sgbd me semble plus approprié. Sinon, s'il faut faire une bidouille en PHP, bienvenue ici.)
Bonjour,
J'ai un événement qui fini à une date et une heure donnée. Ex 20:00 le
20/01/07.
Je n'arrive pas a faire en sorte que l'événement ne soit plus affiché à
20:00:01, il reste affiché jusqu'à 23:59:59 le 20/01/07.
Je suis quasi ignare en SQL, mais est-ce que le problème ne viendrait
pas du nom « date » identique aux deux premiers endroits de la requête ?
... DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') AS date ... WHERE date ...
^^^^ ^^^^
(Par ailleurs, si la solution existe vraiment en SQL, le groupe consacré
aux sgbd me semble plus approprié. Sinon, s'il faut faire une bidouille
en PHP, bienvenue ici.)
J'ai un événement qui fini à une date et une heure donnée. Ex 20:00 le 20/01/07. Je n'arrive pas a faire en sorte que l'événement ne soit plus affiché à 20:00:01, il reste affiché jusqu'à 23:59:59 le 20/01/07.
Je suis quasi ignare en SQL, mais est-ce que le problème ne viendrait pas du nom « date » identique aux deux premiers endroits de la requête ?
... DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') AS date ... WHERE date ... ^^^^ ^^^^
(Par ailleurs, si la solution existe vraiment en SQL, le groupe consacré aux sgbd me semble plus approprié. Sinon, s'il faut faire une bidouille en PHP, bienvenue ici.)
P'tit Marcel
J'ai un événement qui fini à une date et une heure donnée. Ex 20:00 le 20/01/07. Je n'arrive pas a faire en sorte que l'événement ne soit plus affiché à 20:00:01, il reste affiché jusqu'à 23:59:59 le 20/01/07.
$result = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') AS date FROM evenements WHERE date > CURRENT_DATE AND type = '".$_GET['pays']."' ORDER BY date ASC LIMIT 1");
puisque c'est ici le forum dédié au Php, voici une solution en php:
$result = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') ". "AS date FROM evenements WHERE date > '" . date('Y-m-d H:i:s'). "' AND type = '". mysql_real_escape_string($_GET['pays']). "' ORDER BY date ASC LIMIT 1") or die("on n'est pas dans la m...") ;
En effet, pour sélectionner en tenant compte de l'heure, il faut employer une borne précisant l'heure, ce qui n'est pas le cas de CURRENT_DATE.
Par ailleurs, pour des raisons de sécurité, il est recommandé d'utiliser mysql_real_escape_string pour "échapper" les variables externes avant de les employer dans une requête sql. C'est généralement superflu quand c'est déjà fait automatiquement par php (c'est à dire quand get_magic_quotes_gpc() renvoit true). Enfin, il faut toujours prévoir le cas où l'appel d'une fonction échoue.
a+ -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/
J'ai un événement qui fini à une date et une heure donnée. Ex 20:00 le
20/01/07.
Je n'arrive pas a faire en sorte que l'événement ne soit plus affiché à
20:00:01, il reste affiché jusqu'à 23:59:59 le 20/01/07.
$result = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') AS
date FROM evenements WHERE date > CURRENT_DATE AND type =
'".$_GET['pays']."' ORDER BY date ASC LIMIT 1");
puisque c'est ici le forum dédié au Php, voici une solution en php:
$result = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') ".
"AS date FROM evenements WHERE date > '" .
date('Y-m-d H:i:s').
"' AND type = '".
mysql_real_escape_string($_GET['pays']).
"' ORDER BY date ASC LIMIT 1")
or die("on n'est pas dans la m...") ;
En effet, pour sélectionner en tenant compte de l'heure, il faut
employer une borne précisant l'heure, ce qui n'est pas le cas de
CURRENT_DATE.
Par ailleurs, pour des raisons de sécurité, il est recommandé d'utiliser
mysql_real_escape_string pour "échapper" les variables externes avant de
les employer dans une requête sql. C'est généralement superflu quand
c'est déjà fait automatiquement par php (c'est à dire quand
get_magic_quotes_gpc() renvoit true). Enfin, il faut toujours prévoir le
cas où l'appel d'une fonction échoue.
a+
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
J'ai un événement qui fini à une date et une heure donnée. Ex 20:00 le 20/01/07. Je n'arrive pas a faire en sorte que l'événement ne soit plus affiché à 20:00:01, il reste affiché jusqu'à 23:59:59 le 20/01/07.
$result = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') AS date FROM evenements WHERE date > CURRENT_DATE AND type = '".$_GET['pays']."' ORDER BY date ASC LIMIT 1");
puisque c'est ici le forum dédié au Php, voici une solution en php:
$result = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') ". "AS date FROM evenements WHERE date > '" . date('Y-m-d H:i:s'). "' AND type = '". mysql_real_escape_string($_GET['pays']). "' ORDER BY date ASC LIMIT 1") or die("on n'est pas dans la m...") ;
En effet, pour sélectionner en tenant compte de l'heure, il faut employer une borne précisant l'heure, ce qui n'est pas le cas de CURRENT_DATE.
Par ailleurs, pour des raisons de sécurité, il est recommandé d'utiliser mysql_real_escape_string pour "échapper" les variables externes avant de les employer dans une requête sql. C'est généralement superflu quand c'est déjà fait automatiquement par php (c'est à dire quand get_magic_quotes_gpc() renvoit true). Enfin, il faut toujours prévoir le cas où l'appel d'une fonction échoue.
a+ -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/
ypc
Bonjour,
J'ai un événement qui fini à une date et une heure donnée. Ex 20:00 le 20/01/07. Je n'arrive pas a faire en sorte que l'événement ne soit plus affiché à 20:00:01, il reste affiché jusqu'à 23:59:59 le 20/01/07.
ce qui est écrit dans mon fichier : $result = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') AS date FROM evenements WHERE date > CURRENT_DATE AND type = '".$_GET['pays']."' ORDER BY date ASC LIMIT 1");
Quelqu'un aurai t il la fonction magique ?
Merci d'avance pour les futures heures de sommeil ainsi économisées.
Xavier Tu utilises CURRENT_DATE pour comparer la date, utilise CURRENT_TIME
pour comparer l'heure
Bonjour,
J'ai un événement qui fini à une date et une heure donnée. Ex 20:00 le
20/01/07.
Je n'arrive pas a faire en sorte que l'événement ne soit plus affiché à
20:00:01, il reste affiché jusqu'à 23:59:59 le 20/01/07.
ce qui est écrit dans mon fichier :
$result = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') AS
date FROM evenements WHERE date > CURRENT_DATE AND type =
'".$_GET['pays']."' ORDER BY date ASC LIMIT 1");
Quelqu'un aurai t il la fonction magique ?
Merci d'avance pour les futures heures de sommeil ainsi économisées.
Xavier
Tu utilises CURRENT_DATE pour comparer la date, utilise CURRENT_TIME
J'ai un événement qui fini à une date et une heure donnée. Ex 20:00 le 20/01/07. Je n'arrive pas a faire en sorte que l'événement ne soit plus affiché à 20:00:01, il reste affiché jusqu'à 23:59:59 le 20/01/07.
ce qui est écrit dans mon fichier : $result = mysql_query("SELECT *, DATE_FORMAT(date,'%d/%m/%Y à %Hh%i') AS date FROM evenements WHERE date > CURRENT_DATE AND type = '".$_GET['pays']."' ORDER BY date ASC LIMIT 1");
Quelqu'un aurai t il la fonction magique ?
Merci d'avance pour les futures heures de sommeil ainsi économisées.
Xavier Tu utilises CURRENT_DATE pour comparer la date, utilise CURRENT_TIME