Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2011, 16h30   #1
Invité de passage
 
Inscription : octobre 2010
Messages : 18
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 18
Points : 4
Points : 4
Par défaut recupérer une variable.

Bonjour,

J'ai deux fonctions dans une classe. Le soucis est que je voudrais récupérer une variable qui est dans la première fonction sans avoir à refaire la requête.

Merci pour votre aide !!!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
class funct
{
 
public function tableau1_0()
        {
 
		$req3 = $this->bdd->query('SELECT * FROM tableau WHERE cat = "1"');
		$i=1;
		$nblignes3 = $req3->rowCount();
		$avtder3 = $nblignes3 - 1;
        }
 
public function recup_nb()
 
        {
 // ICI j'aimerais récupérer la variable $avtder3 de la fonction précédente...
         }
 
 
}
c-zeuw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h33   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
tu fais pas de retour dans tes méthodes ?
la lorsque t'appelle tableau1_0, ca fais rien
ou utilise au moins une propriété
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h51   #3
Invité de passage
 
Inscription : octobre 2010
Messages : 18
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 18
Points : 4
Points : 4
Citation:
Envoyé par stealth35 Voir le message
tu fais pas de retour dans tes méthodes ?
la lorsque t'appelle tableau1_0, ca fais rien
ou utilise au moins une propriété
Je vois ce que sont les méthodes et propriétés mais je ne vois pas comment les utiliser dans le cas présent. J'imagine que pour la méthode il faudrait que je définisse un paramètre qui soit tableau1_0($avtder3) mais $avtder3 devra être auparavant déclaré de manière arbitraire (j'imagine).

Pour le cas ou j'aurais l'utilisation d'une propriété on est plus ou moins dans le même problème je pense vu que ca donnerait genre ca:

$a = new funct;
$a-> tableau1_0->Nombre_de_ligne = Valeur;


Peux tu m'aiguiller pcq je ne vois pas trop comment aborder ca et je me tire les cheveux...

Merci !!!
c-zeuw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h52   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
tu sais comment on utilise les propriétés d'une classe au moins ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h03   #5
Invité de passage
 
Inscription : octobre 2010
Messages : 18
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 18
Points : 4
Points : 4
Oui je ne pense pas avoir de problèmes avec ca mais c'est pour exporter ma valeur de variable calculée au sein d'une fonction et la réutiliser dans la classe que j'ai un problême...
Je sais que c'est un soucis de débutant... Merci pour ton aide !
c-zeuw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h13   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par c-zeuw Voir le message
Oui je ne pense pas avoir de problèmes avec ca mais c'est pour exporter ma valeur de variable calculée au sein d'une fonction et la réutiliser dans la classe que j'ai un problême...
Je sais que c'est un soucis de débutant... Merci pour ton aide !
ta juste a créer un propriété et la récupère avec l'autre méthode alors y'a pas de soucis
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h26   #7
Invité de passage
 
Inscription : octobre 2010
Messages : 18
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 18
Points : 4
Points : 4
Citation:
Envoyé par stealth35 Voir le message
ta juste a créer un propriété et la récupère avec l'autre méthode alors y'a pas de soucis
Ok je vois pour la propriété mais pour le récupérer avec l'autre méthode comme tu le dis, tu fais comment ?

Donc si je saisis:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class funct
{
public $avtder3
 
    public function tableau()
    {
     $nbligne = 23;
     $this->avtder3 = $nbdeligne + 1;
     }
 
    public function recupNb()
    {
     return $this->avtder3;     
 
     }
 
 
}

Ca marche pas ou alors j'ai omis quelque chose...
c-zeuw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h30   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
si tu veux le faire en chainage il va falloir retourner l'object

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class funct
{
    public $avtder3;
 
    public function tableau()
    {
        $nbligne = 23;
        $this->avtder3 = $nbligne + 1;
 
        return $this;
    }
 
    public function recupNb()
    {
        return $this->avtder3;     
    } 
}
 
$a = new funct();
echo $a->tableau()->recupNb();
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 18h01   #9
Invité de passage
 
Inscription : octobre 2010
Messages : 18
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 18
Points : 4
Points : 4
Citation:
Envoyé par stealth35 Voir le message
si tu veux le faire en chainage il va falloir retourner l'object

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class funct
{
    public $avtder3;
 
    public function tableau()
    {
        $nbligne = 23;
        $this->avtder3 = $nbligne + 1;
 
        return $this;
    }
 
    public function recupNb()
    {
        return $this->avtder3;     
    } 
}
 
$a = new funct();
echo $a->tableau()->recupNb();
C'est deja plus clair pour moi. Je pense que je vais devoir séparer ma fonction car il me retourne mes deux objects $this. (le premier de ma requête sql et le second du nombre de lignes qui m'intéresse).


Merci pour ton explication !!
c-zeuw est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h59.


 
 
 
 
Partenaires

Hébergement Web