[php/SQL] date aprés une certaine date
Bonjour,
Je souhaiterai récupérer tout les tuples dont le champ date est supérieur à la date du jour moin un mois.
voici donc ce que j'ai tenté :
// Préparation des données avant la requête
$date_ref = mktime(0,0,0,date("Y"), date("m")-2, date("d") ); // Date du mois dernier
// La requête
$requette_news = "select * from news where (date,'%Y/m/%d') > ".$date_ref;
$resultat_requette_news = mysql_query($requette_news) or die();
En vous disant merci par avance ...
Cultivons la bonne vibs !
Et qu'est ce qui va pas ?
L'affichage de mon site devient foureux et il m'écrit cette erreur :
Warning: mktime(): Windows does not support negative values for this function in c:\le site 4players\4-players\script\php\news.php on line 7
select * from news where (date,'%Y/m/%d') > -1
De plus je ne saisi pas tout dans ce code comme (date,'%Y/m/%d')
Et je voudrai afficher une date au format JJ/MM/AAAA et j'ai bien l'impression que là je récupère le format de la base de données (donc JJ/MM/AAAA) alors comment transformé ce format pour afficher comme je le veut?
Cultivons la bonne vibs !
Pour changer le format de ta date, regarde cette
astuce.
Ensuite, laisse tomber tes mktime, et fais plutot un truc du genre :
<?php
$date_today = date("Y-m-d");
$sql = 'SELECT prosper_youpla_boum FROM news WHERE date_news > SUBDATE('.$date_today.', INTERVAL 1 MONTH) ORDER BY date_news';
// mysql_query & CO
?>
PS : dis nous si ca fonctionne (ce code, j'en suis pas sur, je l'ai ecrit comme ca sans le tester a partir du manuel MySQL).
Ca ma tout l'aire de fonctionné maintenant j'ai des problème pour afficher ce que je souhaite et surtout (pour rester en rapport avec le sujet de ce post) j'aimerai afficher une date au forma Jour/Mois/Année , Tu doit savoir comment faire,non?
Cultivons la bonne vibs !
Oui quand tu as recupere ta date au format americain, tu la passes ou format francais avec l'astuce que je t'ai donné en lien dans mon precedent message.
OKi,
Il me reste un drenier problème.
La requête s'éffectue bien mais elle ne trouve rien et donc n'affiche rien.
Il n'entre pas dans ma boucle while voici donc la requête ... :
date_ref = date("Y-m-d");
// La requête
$requette_news = "select titre, corps, date, persistant from news where date > SUBDATE(".$date_ref.", INTERVAL 1 MONTH) ORDER BY date";
//echo $requette_news;
$resultat_requette_news = mysql_query($requette_news) or die('problème avec la requête.<BR>erreur SQL :'.mysql_error());
while($resultat_news = mysql_fetch_array($resultat_requette_news) )
les champ de ma table :
titre (primary key)
corps
date
persistant
Vérait-tu une erreur?
Cultivons la bonne vibs !
$requette_news = 'select titre, corps, date, persistant from news where date > SUBDATE("'.$date_ref.'", INTERVAL 1 MONTH) ORDER BY date';
Essaye ceci.
Sa fonctionne à merveille. MERCI !!
Cultivons la bonne vibs !
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: