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 :

Accés aux membres d'un objet PHP [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 28
    Points : 21
    Points
    21
    Par défaut Accés aux membres d'un objet PHP
    Bonsoir, voilà mon problème :
    J'ai créé une fonction GET($data,id_membre) qui me renvoie ce que je lui demande. Par exemple si je souhaite savoir quel est le nom du membre 3 :
    J'appelle la fonction comme ça : GET('nom', 3);

    Voilà la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function Get($data, $id_membre)
    	{	
    		$sql = new SQL("SELECT '$data' FROM membres WHERE id_membre = '$id_membre'");
    		$result = $sql->getResult(); // Fonction me permettant de me renvoyer un objet ! ( elle marche ) 
    		$retour = $result->$data;   // je pense que le problème est là
    	        return $retour;
     
    	}
    lorsque je fais l'echo de ce que je reçois, il me ressort le contenu de $data ( par exemple pour l'appel de la fonction GET('nom', 3) le retour que je reçois est "nom" Alors que je veut le nom du membre !) .
    Comment faire pour récupéré la valeur souhaitée ?

    Cordialement.

  2. #2
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut en enlevant les cotes ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = new SQL("SELECT $data FROM membres WHERE id_membre = '$id_membre'");
    à essayer ...

    nimbus

  3. #3
    Membre régulier Avatar de guigouz
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 84
    Points : 102
    Points
    102
    Par défaut
    Ceci devrait fonctionner...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function Get($data, $id_membre)
    {	
    	$sql = new SQL('SELECT '.$data.' FROM membres WHERE id_membre = '.$id_membre);
    	$result = $sql->getResult();
            return $result->$data; 
    }
    Si ça ne marche pas, peux-tu nous fournir le code du consctructeur de l'objet SQL ainsi de l'accesseur getResult afin de vérifier tout ça ?
    Tiens nous au courant !
    Bonsoir

  4. #4
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    il aurait été intéressent de lui expliquer pourquoi cela ne fonctionnait pas afin qu'il ne refasse pas la même erreur

    les simples quotes, ou apostrophes sont utile pour les chaînes de caractères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 'nom' from matable
    résultat :

    nom
    il va afficher le mot 'nom' sans se soucier du reste de la requète, bien que le reste soit exécuté.
    les quotes inversés sont utiles pour les noms de champs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `nom` from matable
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom from matable
    résultat :

    Dupont
    ...

  5. #5
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut voui mais ..
    Ayant eu ce genre de problème ...
    Je pensais avoir raison sans avoir les moyens de l'expliquer.

    Maintenant je saurais le dire puisque vous l'avez formalisé ...

    Merci

    nimbus est (encore) un débutant

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Ah, super, Et je dois remercier nimbus_77 pour ça, et SphynXz pour l'explication.
    Effectivement vous aviez raison, il fallait enlever les quotes autour de $data dans la requête sql.

    Merci A tous en tout cas de vous être pencher sur la question.

    ++


    Citation Envoyé par nimbus_77 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = new SQL("SELECT $data FROM membres WHERE id_membre = '$id_membre'");
    à essayer ...

    nimbus

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 16/05/2007, 16h53
  2. Réponses: 16
    Dernier message: 17/03/2007, 17h31
  3. Réponses: 5
    Dernier message: 01/02/2007, 13h14
  4. [POO] Acces aux attributs d'un objet depuis une methode evenement :s
    Par NikoGJ dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/07/2006, 19h01
  5. Heritage accès aux membres de bases
    Par MAGNUM_HEAD dans le forum C++
    Réponses: 1
    Dernier message: 16/11/2004, 16h41

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