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 26/04/2007, 13h55   #1
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Par défaut [SQL] Select de dates vieilles de 30j

Bonjour,

Je souhaiterais pouvoir récupérer dans ma base de données, les enregistrements dont les date sont vieilles de 30j depuis la date actuelle?


je veux comparer avec la date de l'instant où le script est executé:

date ('Y-m-d') si la date dans la base de donnée est plus vielle que la date actuelle, alors je la récupère.

Quelle serait la bonne requête??

Merci à vous pour ces quelques précisions.
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 14h07   #2
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
commence par passer la date du jour en Timestamp.
ensuite à cette valeur tu lui enlève 30 jours : (30*60*60*24)-le Timestamp actuel <= 30jours * 60secondes*60minutes*24heures

cette valeur tu la remet en format Date (ici) et voila tu connais quand tombe la fameuse date, 30jours avant aujourd'hui
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 16h08   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Le mot clé interval est plus intéressant :
Code SQL :
SELECT ... FROM ... WHERE `date` < NOW() - INTERVAL 1 MONTH;
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 16h12   #4
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Je veux bien essayer comme ca

Je pensais qu'il y avait plus direct avec SQL, etant donné que le format date(Y-m-d) est au meme format que la date présente dans MySQL pour le champ date...

Mais bon si il y a pas, il y a pas. Je vais faire comme ça alors...

Merci
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 16h16   #5
Invité régulier
 
Inscription : mai 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 9
Points : 6
Points : 6
Salut.
On peut gérer ca directement en SQL via la requête :
Code :
1
2
3
 
SELECT quelquechose FROM nom_de_table
           WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
La fonction TO_DAYS transforme une date en nombre de jours.

recupérée de la premiere page de l'aide en ligne du site de Mysql sur les dates.
poulping est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 16h22   #6
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Oula j'avais pas vu toutes les autres réponses!

Merci à vous!

Je test et je vous dis quoi
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 16h34   #7
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Hello,

La requête de Julp marche très bien! J'ai pris la plus simple...

Mais merci pour toutes vos propositions intéressantes

A bientot.
Sayrus 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 02h04.


 
 
 
 
Partenaires

Hébergement Web