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

Langage PHP Discussion :

affichage de date incorrect


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 372
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut affichage de date incorrect
    Bonsoir,

    dans ma bdd, j'ai un champ de type SQL DATE. Si je l'affiche dans phpMyAdmin, l'affichage est correct, par contre si je l'affiche avec mon code PHP, c'est faux. Pourquoi ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sql="SELECT machines.name,infotech.* FROM machines
    	 JOIN infotech ON machines.name=infotech.name";	
     
    $qid = $bdd->prepare($sql);
    $qid->execute();
     
     
    $row = $qid->FetchAll(PDO::FETCH_ASSOC); var_dump($row);

    Le var_dump($row); montre que l'affichage est faux.

    Par exemple, si la date est 2004-06-09, ça affiche 2010-07-01.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Déjà ça ne sert à rien de faire une préparation si tu n'as pas de paramètres.

    Dans ton code il n'y a rien d'étrange. Si tu es sûr de bien interpréter ton résultat, donne nous un extrait des tables permettant de reproduire ton problème.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 372
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    désolé du temps de réponse.

    Qu'il n'y ait pas besoin de préparer la requête, c'est clair, mais par habitude, je le fais systématiquement, et ça ne doit pas trop gêner...

    Donner un extrait des 2 tables, ça me gêne pour les 2 car il y a des informations confidentielles (mots de passe, adresses IP, numéros de téléphone...)

    machines :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE `machines` (
      `name` varchar(20) COLLATE latin1_bin DEFAULT NULL,
      `localization` varchar(30) COLLATE latin1_bin DEFAULT NULL,
      `pays` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT '',
      `entite` varchar(20) COLLATE latin1_bin DEFAULT NULL,
      `perimetre` set('Oui','Non') COLLATE latin1_bin DEFAULT NULL,
      `type` varchar(20) COLLATE latin1_bin DEFAULT NULL,
      `id` smallint(6) NOT NULL,
      `comment` varchar(100) COLLATE latin1_bin DEFAULT NULL,
      `ip` varchar(15) COLLATE latin1_bin DEFAULT NULL,
      `contact_name` varchar(50) COLLATE latin1_bin DEFAULT NULL,
      `contact_phone` varchar(50) COLLATE latin1_bin DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin;

    infotech :
    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
    CREATE TABLE `infotech` (
      `name` varchar(20) COLLATE latin1_bin NOT NULL DEFAULT '',
      `ram` int(10) UNSIGNED DEFAULT NULL,
      `os` varchar(100) COLLATE latin1_bin DEFAULT NULL,
      `ncli` int(3) UNSIGNED DEFAULT NULL,
      `rpwd` varchar(10) COLLATE latin1_bin DEFAULT NULL,
      `backup` varchar(50) COLLATE latin1_bin DEFAULT NULL,
      `alomip` varchar(15) COLLATE latin1_bin DEFAULT NULL,
      `alomuser` varchar(10) COLLATE latin1_bin DEFAULT NULL,
      `alompass` varchar(10) COLLATE latin1_bin DEFAULT NULL,
      `alomtype` set('Pas de carte','ALOM','RSC') COLLATE latin1_bin DEFAULT NULL,
      `installdate` date DEFAULT NULL,
      `systemalert` tinyint(4) NOT NULL DEFAULT '0'
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin;

    comment faire ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as pas répondu : es-tu sûr de bien lire ton résultat ?
    L'explication la plus probable c'est que tu ne vois pas la date de la ligne que tu penses devoir obtenir.

    Pour le test, tu peux bien produire une table de test (la deuxième table ne dois pas jouer) avec les données minimales permettant de reproduire ton problème non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 372
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    T'avais raison : dans la requête SQL il manquait une clause WHERE et du coup je ne lisais pas ce qu'il fallait. C'est en essayant de te répondre que je l'ai constaté !
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage du prix suivant la date incorrect.
    Par Nnahaa dans le forum Requêtes
    Réponses: 8
    Dernier message: 24/06/2011, 15h08
  2. problème d'affichage de date
    Par Commodore dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 07/12/2005, 08h50
  3. cocher une case+affichage de dates
    Par Toff !!!!! dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 10h07
  4. Probleme avec affichage de date
    Par Wongmaster dans le forum Access
    Réponses: 27
    Dernier message: 24/12/2004, 20h51
  5. probleme d'affichage IHM 'Parametre incorrect'
    Par GENERYS dans le forum C++Builder
    Réponses: 5
    Dernier message: 26/11/2004, 16h53

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