8791 sujets

Développement web côté serveur, CMS

Bonjour a tous,
Voila je ne parviens pas a comparer les dates qui sont enregistrees sur ma base au format (d/M/Y) et la date du jour avec cette requette :

SELECT *
FROM cliquetel
WHERE date_on = 'CURRENT_DATE()'
Merci de votre aide et bonne journee
Modifié par outage (14 Nov 2008 - 16:00)
Salut Smiley cligne

Utilise le timestamp pour comparer deux dates, c'est plus simple.

Sinon, à la place de current_date(), utilise simplement Date("d/M/Y")
Je debute en php et le timestamp je sais pas trop comment utiliser cela , sinon en utilisant le Date("d/M/Y.. cela me fait planter ma page :
SELECT *
FROM cliquetel
WHERE date_on = 'Date("d/m/Y")'
Merci de ton aide
Salut outage et bienvenue, Smiley smile

le vrai problème est d'avoir stocké ta date de cette façon : il faut toujours utiliser un vrai format de date (AAAAMMJJ) ce qui permet ensuite d'utiliser une foultitude de fonctions liées au dates. Ne serait-ce que pour faire un tri c'est impossible avec JJMMAAAA.

De plus ta première requête fonctionnerait directement :
SELECT *
FROM cliquetel
WHERE date_on = CURDATE( ) 

Modifié par Heyoan (14 Nov 2008 - 15:42)
Merci pour l'info , mais pour la consultation sur des tableaux le premier format est pas top c'est pour cela que j'ai utilise ce format. je vais donc modifié cela
Merci et bon Week-end.
outage a écrit :
Merci pour l'info , mais pour la consultation sur des tableaux le premier format est pas top c'est pour cela que j'ai utilise ce format..
Il suffit de reformater la date dans ton SELECT :
SELECT *, date_format(date_on, '%d/%m/%Y') as ma_date FROM ma_table
une petite question le format que je dois utiliser pour l'neregitrement de ma date dans mes champs c'est bien :<?php echo date('AAAAMMJJ'); ?>
Tout dépend de ce que tu stockes. Si c'est la date du jour au moment de l'INSERT le mieux est de faire :
INSERT INTO matable SET date_on = NOW()
Sinon tu peux concaténer les champs pour obtenir une string 'AAAA-MM-JJ' :
$annee = 2008;
$mois = '11';
$jour = '14';
$date_on = ''.$annee.'-'.$mois.'-'.$jour.'';
$sql = "INSERT INTO actualites SET dat_on = '$date_on'";
mysql_query($sql) or die(mysql_error());
Mysql est souple et la String peut avoir la forme que tu veux : 'AAAAMMJJ', 'AAAA-MM-JJ', 'AAAA/MM/JJ' ou tu peux même utiliser un numérique de 8 : AAAAMMJJ
Modifié par Heyoan (14 Nov 2008 - 16:13)