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 :

POO - problème de récupération de données dans ma BDD


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Femme Profil pro
    Entrepreneur
    Inscrit en
    Juillet 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Entrepreneur

    Informations forums :
    Inscription : Juillet 2015
    Messages : 20
    Points : 12
    Points
    12
    Par défaut POO - problème de récupération de données dans ma BDD
    Bonjour,

    J'ai un soucis sur POO (je débute...). Je dois installer une API.
    En fait mon problème est de récupérer des données de ma BDD pour les insérer dans une fonction (Regsiterppi ci-dessous) qui envoie les données à l'API (nom, prénom, civilité)..
    J'ai tenté de récupérer et d'envoyer la donnée "nom" issue de ma BDD avec le code ci-dessous, mais ça ne fonctionne pas ("Call to a member function getClientNom() on a non-object"), même chose avec $this.
    Comment puis-je récupérer ces données dans ma fonction, sachant que j'arrive parfaitement à afficher ces mêmes données quand je fais un "echo" ?

    Merci d'avance

    Voici le code :

    Code : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    class Client
    {						
    private $civilite,$nom,$prenom;
     
    public function __construct($dbRow)
    	{
    	$this->civilite = $dbRow['civilite'];
    	$this->nom = $dbRow['nom'];
    	$this->prenom = $dbRow['prenom'];
     
    	}
     
    	public function getClientNom()
     
    	{
    		return $this->nom;
    	}
     
    	public function getClientPrenom()
     
    	{
    		return $this->prenom;
    	}
    	public function getClientCivilite()
     
    	{
    		return $this->civilite;
    	}
    	private function getRandomId(){
    		return str_replace('.', '', microtime(true).rand());
    	}
    	public function Registerppi(){
    		$wallet = self::getRandomId();
    		$nom->getClientNom();
    		$res = Kit::Registerppi(array('ppi' => $ppi, 
    												'clientMail' => 'mail@mail.fr', 
    												'clientTitle' => 'civilite', 
    												'clientFirstName' => 'prenom', 
    												'clientLastName' => '$nom'));
    		if (isset($res->lwError))
    			print 'Error, code '.$res->lwError->CODE.' : '.$res->lwError->MSG;
    		else
    			print '<br/>Wallet created : ' . $res->wallet->ID;
    	}
    }

  2. #2
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    Bonjour,

    Alors juste pour te faire comprendre ce que tu à essayé de faire ici :

    $nom->getClientNom();, tu essaye d'appeler une fonction d'un objet qui se nomme $nom, hors ici $nom contient une chaîne de caractère et non un objet de type Client

    C'est un truc comme ça que tu veux faire ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $res = Kit::Registerppi(array('ppi' => $ppi, 
    		'clientMail' => 'mail@mail.fr', 
    		'clientTitle' => 'civilite', 
    		'clientFirstName' => 'prenom', 
    		'clientLastName' => $this->getClientNom()));
    Mais tu dit qu'avec $this->getClientNom() ça ne fonctionne pas ??

  3. #3
    Membre à l'essai
    Femme Profil pro
    Entrepreneur
    Inscrit en
    Juillet 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Entrepreneur

    Informations forums :
    Inscription : Juillet 2015
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    Merci de ta réponse !
    Effectivement, avec $this->getClientNom(), il me retourne l'erreur suivante :
    Fatal error: Using $this when not in object context in ...
    Je ne comprends pas trop comment faire...

  4. #4
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    Tu peux montrer le code ou tu instancie cette classe et ou tu appel Registerppi() ?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Entrepreneur
    Inscrit en
    Juillet 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Entrepreneur

    Informations forums :
    Inscription : Juillet 2015
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Merci encore de la réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    $client = new Client();
    $client->Registerppi();

  6. #6
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    D'accord,

    Mais ton constructeur attend un $dbrow en entrée non ? function __construct($dbRow) Afin de pouvoir donner les valeurs à tes variables $nom, $prenom ..

Discussions similaires

  1. [Smarty] Problème de récupération de données dans un foreach (hors tpl)
    Par alfazzz dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 24/12/2011, 00h39
  2. Réponses: 4
    Dernier message: 09/10/2011, 13h22
  3. Probléme de récupération de données dans un DataGrid View
    Par lisounett dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/07/2009, 15h13
  4. [MySQL] Problème de récupération des données dans une fonction
    Par highman dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/10/2006, 20h04
  5. Problème de récupérations de données dans une table mysql
    Par Helpine dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 09/03/2006, 19h07

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