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 :

afficher une valeur venant d'un fetchAll [PDO]


Sujet :

PHP & Base de données

Vue hybride

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut afficher une valeur venant d'un fetchAll
    Bonjour,

    j'extraie des données de ma bdd par un fetchAll :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	$sql="SELECT * from `infoappli` where name='".$machselcopy."'"; 
    	$qid=$bdd->query($sql);
    	$datainfoapplimodif = $qid->fetchAll(PDO::FETCH_OBJ);
    Les colonnes de la table infoappli sont des noms d'application :
    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
    19
    20
    21
    22
    23
    CREATE TABLE IF NOT EXISTS `infoappli` (
      `name` varchar(20) COLLATE latin1_bin NOT NULL DEFAULT '',
      `pec` tinyint(4) DEFAULT NULL,
      `autre` tinyint(4) DEFAULT NULL,
      `cadence` tinyint(4) DEFAULT NULL,
      `genesis` tinyint(4) DEFAULT NULL,
      `licenseserver` tinyint(4) DEFAULT NULL,
      `teamforge` tinyint(4) DEFAULT NULL,
      `mentor` tinyint(4) DEFAULT NULL,
      `em-plant` tinyint(4) DEFAULT NULL,
      `moldflow` tinyint(4) DEFAULT NULL,
      `pcnetlink` tinyint(4) DEFAULT NULL,
      `loadpoint` tinyint(4) DEFAULT NULL,
      `prointralink` tinyint(4) DEFAULT NULL,
      `promecanica` tinyint(4) DEFAULT NULL,
      `mdm` tinyint(4) DEFAULT NULL,
      `samba` tinyint(4) DEFAULT NULL,
      `ftpsccm` tinyint(4) DEFAULT NULL,
      `symphony` tinyint(4) DEFAULT NULL,
      `coda` tinyint(4) DEFAULT NULL,
      PRIMARY KEY (`name`),
      UNIQUE KEY `name` (`name`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin;

    Je souhaite afficher la valeur de la colonne pec pour une des machines :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	$sql="SELECT * from `infoappli` where name='".$machselcopy."'"; 
    	$qid=$bdd->query($sql);
    	$datainfoapplimodif = $qid->fetchAll(PDO::FETCH_OBJ);var_dump(($datainfoapplimodif[0])->pec);

    mais
    Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in C:\wamp\www\eis2\eisnew\page\modserver.php on line 28
    Pouvez-vous me corriger ?

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Débordé par les réponses j'ai essayé de creuser un peu moi-même.

    D'abord, j'ai remplacé le mode objet par le mode associatif :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $datainfoapplimodif = $qid->fetchAll(PDO::FETCH_ASSOC);
    ainsi, j'ai fait fonctionner mon var_dump :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($datainfoapplimodif[0]['pec']);//vaut 1
    Sauf que dans cet exemple, j'écris en dur le nom de la colonne (pec). En réalité, je l'obtiens par une variable. Du coup, j'écris ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($datainfoapplimodif[0][$nom_appli[$i]])
    mais je n'obtiens que des NULL
    C:\wamp\www\eis2\eisnew\_includes\write_server1.php:242:null
    même si ça vaut 1 (les 2 valeurs possibles sont true ou false, en fait). Donc l'écriture n'est pas bonne. Comment faut-il l'écrire ?

  3. #3
    Invité
    Invité(e)

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci du conseil ; cela dit, vers 16h, je me suis aperçu que mon code avec le fetchAll était bon et que mon bug venait d'une erreur dans le nom d'une colonne d'une table de la bdd ; donc je ne change pas un truc qui marche. (Pas eu la dispo pour le signaler, avant...)

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

Discussions similaires

  1. [dblookup] afficher une valeur par programmation
    Par let_me_in dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/05/2005, 14h42
  2. [TMS320C31] Afficher une valeur à l'écran
    Par miminou dans le forum Autres architectures
    Réponses: 3
    Dernier message: 17/04/2005, 18h48
  3. [TP] Afficher une valeur avec outtext
    Par Bouilla dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 06/03/2005, 09h57
  4. Réponses: 3
    Dernier message: 28/01/2004, 14h55
  5. Afficher une valeur du context
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 13
    Dernier message: 28/04/2003, 13h49

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