Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3056 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Recuperer les insertions récentes dans une table

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recuperer les insertions récentes dans une table

n°2044871
azkatari
Posté le 28-12-2010 à 20:11:46  profilanswer
 

Salut,
 
je cherche à extraire les insertions ayant moins d'un jour, d'une semaine, d'un mois, etc d'une table dans mysql. J'ai un champ date_created dans ma table topics, ou je store le timestamp au moment de l'insertion (fonction php time() ).
 
J'ai trouve dans la doc mysql la fonction datediff:  
 
j'ai donc fait select * from topics where datediff(NOW(),date_created) < 8 (pour la semaine), mais ca ne marche pas. L'exemple dans la doc est sous le format aaaa-mm-dd, pas en timestamp, y'aurait moyen de l'utiliser avec un timestamp, ou une autre methode?
 
Thanks :)

mood
Publicité
Posté le 28-12-2010 à 20:11:46  profilanswer
 

n°2044882
mrbebert
Posté le 28-12-2010 à 22:02:05  profilanswer
 

Le champ date_created est sous quel format ?
 
Le risque est que la chaîne de caractère renvoyée par le "time()" de PHP ne soit pas reconnu (ou mal) comme une date. Si tu affiches en SQL ce champ date_created, les valeurs sont correctes ?
(perso, sauf contrainte particulière, je mettrais plutôt un "NOW()" dans la requête plutôt que de générer la date en PHP [:figti] )


---------------
Doucement le matin, pas trop vite le soir.
n°2044892
azkatari
Posté le 29-12-2010 à 00:12:54  profilanswer
 

c'etait un simple champ de type int pour storer le time(). J'avais essaye le type timestamp mais ca marchait pas alors j'ai laisse tomber et mis un int a la place :)
 
en effet si j'ai fait ca:
SELECT DATE_FORMAT( date_created,  '%W %M %Y' )  
FROM topics
LIMIT 0 , 30
 
ca me retourne NULL... J'ai mal utilisé la fonction ou le time() est mal reconnu?

n°2044893
mrbebert
Posté le 29-12-2010 à 00:20:01  profilanswer
 

C'est toujours une bonne idée d'utiliser le bon format pour ses colonnes :whistle:  
Il y en a 2 :
DATE -> que la date
DATETIME -> date et heure (jusqu'à la seconde)
 
Si tu essaies de mettre un "2010-07-10" dans un champ DATE, mySQL va bien l'interpréter comme une date. Si tu le met dans un champ INT, mySQL va essayer de la convertir en entier et forcément, ça ne va pas fonctionner [:proy]  
Change le format de ta colonne pour celui dont tu as besoin, ça ira mieux après :)


---------------
Doucement le matin, pas trop vite le soir.
n°2044894
azkatari
Posté le 29-12-2010 à 00:24:03  profilanswer
 

oui c'est pas faux, bon je rechange en datetime pour voir ce que ca donne :)

n°2044895
mrbebert
Posté le 29-12-2010 à 00:30:35  profilanswer
 

azkatari a écrit :

oui c'est pas faux, bon je rechange en datetime pour voir ce que ca donne :)

Dans un 1er temps, teste avec une date en dur, tu t'occuperas de la fonction "time()" ensuite :)  
(ou alors, tu mets le "NOW()" directement dans la requête d'insertion, mySQL prendra lui même la date/heure)


---------------
Doucement le matin, pas trop vite le soir.
n°2044897
azkatari
Posté le 29-12-2010 à 00:47:54  profilanswer
 

OK j'ai teste avec datetime et en effet, ca marche  :whistle:  
ca m'apprendra a etre un peu plus rigoureux avec sql!
 
merci pour ton aide :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Recuperer les insertions récentes dans une table

 

Sujets relatifs
recuperer une info dans un .txt pour integrer à une commande[Résolu]Récupérer une interface swing créée avec Netbeans
Récupérer les coordonnées de clic sur imageRécuperer plusieurs variables $_POST dans un foreach
Urgent : Récupérer fichier .db de base SQL Anywhere 5 Comment récupérer et afficher les données d'un formulaire html
[C]Récupérer un espace avec fgets[Oracle][Résolu] Récupérer refcursor d'une function Oracle
récupérer tout les élements d'un treerécupérer valeur avec $_post
Plus de sujets relatifs à : Recuperer les insertions récentes dans une table


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR