IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Comment faire requete sur un champ TIMESTAMP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 14
    Par défaut Comment faire requete sur un champ TIMESTAMP
    A partir de ma table nommée « donnees », je veux insérer automatique dans ma table nommée « actuel » issues de ma table « donnees ». Seulement, je veux que la table « actuel » soit remplie de données du jour uniquement. C’est à que la table « actuel » se vide à chaque insertion et se rempli uniquement de données datant du même jour. C’est les données de la dernière mise à jour. Je veux savoir comment faire une requête sur le champ TIMESTAMP "`tsModif` timestamp NOT NULL default '0000-00-00 00:00:00'," afin de récupérer toutes données ajoutées le même jour.

    Aidez moi je ne sais comment le faire je suis débutant. Voici la structure de mes deux tables.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    CREATE TABLE `donnees` (
    `_id` int(11) NOT NULL auto_increment,
    `idu` int(11) NOT NULL default '0',
    `_motcle` text NOT NULL,
    `codeentreprise` varchar(150) NOT NULL default '',
    `mois` varchar(150) NOT NULL default '',
    `prixAchat` varchar(150) NOT NULL default '',
    `_dateremise` text NOT NULL,
    `codeplanteur` varchar(150) NOT NULL default '',
    `nbrelevement` varchar(150) NOT NULL default '',
    `modepaiement` varchar(150) NOT NULL default '',
    `netpayer` varchar(150) NOT NULL default '',
    `poidstotaleleve` varchar(150) NOT NULL default '',
    `tsModif` timestamp NOT NULL default '0000-00-00 00:00:00',
    PRIMARY KEY (`_id`),
    KEY `idu` (`idu`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=90 ;
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    CREATE TABLE `actuel` (
    `_id` int(11) NOT NULL auto_increment,
    `idu` int(11) NOT NULL default '0',
    `_motcle` text NOT NULL,
    `codeentreprise` varchar(150) NOT NULL default '',
    `mois` varchar(150) NOT NULL default '',
    `prixAchat` varchar(150) NOT NULL default '',
    `_dateremise` text NOT NULL,
    `codeplanteur` varchar(150) NOT NULL default '',
    `nbrelevement` varchar(150) NOT NULL default '',
    `modepaiement` varchar(150) NOT NULL default '',
    `netpayer` varchar(150) NOT NULL default '',
    `poidstotaleleve` varchar(150) NOT NULL default '',
    `tsModif` timestamp NOT NULL default '0000-00-00 00:00:00',
    PRIMARY KEY (`_id`),
    KEY `idu` (`idu`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

  2. #2
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Bonjour,

    Au sein de mysql tu disposes d'un certain nombre de fonctions de manipulation de dates.

    Par exemple, tu pourrais utiliser :

    FROM_UNIXTIME

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Si j'ai bien compris : c'est bien plus simple que cela car ici il n'est pas question de timestamp unix : une simple comparaison du champ avec la date courante suffira.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM `donnees` WHERE DATE(`tsModif`) = CURDATE();
    -- sinon, pour le transfert, il y a moyen de le faire directement avec une requête de ce genre :
    INSERT INTO `actuel` SELECT * FROM `donnees` WHERE DATE(`tsModif`) = CURDATE();

    Mais quel intérêt de "copier" les données si on peut justement effectuer directement cette sélection ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 97
    Par défaut
    ou alors faire un insert sur les 2 tables, et faire un delete toutes les nuits de la table actuel pour n'avoir que les données du jour....

  5. #5
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    Citation Envoyé par VooDooNet Voir le message
    ou alors faire un insert sur les 2 tables, et faire un delete toutes les nuits de la table actuel pour n'avoir que les données du jour....
    je crois que tu voulais parler des view non ?
    dev.mysql.com/doc/refman/5.0/fr/create-view.html
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

Discussions similaires

  1. pb Requete sur un champ pas sur l'objet
    Par Meunier dans le forum Hibernate
    Réponses: 2
    Dernier message: 22/09/2006, 14h24
  2. [Derby] Requete date courante sur un champ Timestamp
    Par spekal dans le forum Langage SQL
    Réponses: 2
    Dernier message: 15/09/2006, 10h54
  3. Requete sur un champ reference
    Par kirty dans le forum Bases de données
    Réponses: 8
    Dernier message: 05/08/2006, 16h11
  4. Optimisation d'une requete sur un champ texte
    Par TARMINE dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/06/2006, 13h41
  5. requete sur un champs text
    Par sam01 dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/03/2006, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo