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] Retourner une variables contenu dans une autre méthode


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut [POO] Retourner une variables contenu dans une autre méthode
    Bonjour,

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class Test()
    {
      public Toto()
      {
          $variable1 = 1;
          //différent traitement avec un rutrun final
      }
     
      public Titi()
      {
          return this->variable1;
      }
    }

    Suivant l'exemple suivant, comment je peux faire pour dans ma 2eme méthode (Titi()) pouvoir retourner une variable qui est contenu dans la 1er méthode ?

    Merci d'avance

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Tu ne peux pas.
    $variable1 est une variable locale à la méthode Toto() elle disparaît donc de la mémoire dès que Toto() a fini son exécution.

    Donc, dans Titi() tu fais appel à la variable d'instance variable1 ($this->variable1) il faut donc que ta classe possède un membre qui s'appelle variable1 et que tu mémorises sa valeur dans Toto()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class Test()
    {
      private $variable1;
      public Toto()
      {
          $this->variable1 = 1;
          //différent traitement avec un rutrun final
      }
     
      public Titi()
      {
          return $this->variable1;
      }
    }

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut
    Ca n'a pas l'aire de fonctionner :

    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
    class Pagination 
    {
    	private $page;
    	private $nb;
     
    	public function Generate($sql) 
    	{
    		// Numéro de la page à afficher
    		$this->page = 0;
    		if(isset($_SESSION['pag'])) 
    		{
     
    			$this->page = $_SESSION['pag'];
    		}
    		// Nombre de résultats par page
    		$this->nb = 10;
    		if(isset($_SESSION['nb'])) 
    		{
    			$this->nb = $_SESSION['nb'];
    		}
     
    		// Nombre total d'enregistrements					   
    		$query = mysql_query($sql) or die('Erreur MySQL : '.mysql_error());
    		$row = mysql_num_rows($query);
    		$total = $row[0];
     
    		// Nombre maximum de pages
    		$max_pg = ceil($total / $this->nb);
     
    		// Selection des enregistrements pour la page considérée				  
    		return $sql .= ' LIMIT '.($this->page * $this->nb).','.$this->nb.'';
    	}
     
     
    	public function PageActuelle()
    	{
    		return 'Page actuelle : '.$this->page;
    	}
    }

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    comment appelles-tu ta classe exactement déjà?
    Et ensuite quand tu dis "ca ne fonctionne pas" c'est quoi le probleme?

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut
    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
    $pagination = new Pagination();
     
    echo $pagination->PageActuelle();
    echo $pagination->NbEnregistrement();
    echo $pagination->Page();
    echo $pagination->NbEnregistrementParPage();
     
    $sql = 'SELECT client_nom_societe, client_nom, client_prenom, prestation_ville, prestation_type_prestation, prestation_date, prestation_realise_rendez_vous, prestation_prix, prestation_cheque_accompte
    FROM client, prestation
    WHERE prestation_ID_client = client_ID_client
    ORDER BY prestation_date DESC';
     
                    $reponse = mysql_query($pagination->Generate($sql)) or die('Erreur MySQL : '.mysql_error());
                    while ($donnees = mysql_fetch_array($reponse) )
                    {
                      ...
                    }
    Quand je dis que ca ne fonctionne par, c'est qu'uen faite je n'ai occune informatio retourné par mes variables.

    J'ai bien le résultat de ma requete qui s'affiche, aucuns problèmes, il y a juste ces instanciations qui ne fonctionne pas :

    echo $pagination->PageActuelle();
    echo $pagination->NbEnregistrement();
    echo $pagination->Page();
    echo $pagination->NbEnregistrementParPage();

  6. #6
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    t'as pas initialisé la variable page donc il faut au moins lui donner une valeur par défaut dans la classe.

  7. #7
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut
    A oui en effet ;-)

    merci c'est bon ca fonctionne !

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 18/01/2008, 14h50
  2. Exploiter le nom d'une classe contenu dans une variable
    Par 84mickael dans le forum Langage
    Réponses: 2
    Dernier message: 15/06/2006, 14h23
  3. afficher la valeur d'une variable contenue dans une DB
    Par titoumimi dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2006, 17h00
  4. Comment afficher une valeur contenue dans une variable ?
    Par manubrard dans le forum Langage
    Réponses: 5
    Dernier message: 20/02/2006, 15h56

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