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 :

Récupération d'une variable de fonction


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Points : 195
    Points
    195
    Par défaut Récupération d'une variable de fonction
    Bonjour à tous,

    Je suis un peu perdu avec les variables de fonction.

    J'ai bien compris que pour passer une variable dans une fonction il faut le mettre entre les parenthèses quand on l'appel.

    Par contre je n'ai pas réussi à trouver comment récupérer une variable de la fonction que j'ai appelé pour que cette même variable me serve à traiter d'autres fonctions ?

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function id_page($page_name)
    {
    $qu4a = "SELECT * FROM ny_page WHERE texte='$page_name' AND actif=1 AND date_fin=''";								
    $re4a = mysql_query($qu4a);					
    $va4a = mysql_fetch_array($re4a);
    $id_page=$va4a['id_ny_page'];
    }
    Je ne veux pas utiliser Return car je n'ai pas besoin de l'afficher mais bien de l'utiliser pour d'autres requête.

    Merci d'avance.


    Ajout de dernière minute, après avoir trouvé une solution, j'aimerais savoir si il en existe une autre ou pas, car je ne pense pas que les variables $GLOBAL soient les meilleures.

    Merci encore

    Voici ma solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function id_page($page_name)
    {
    global $id_page;
    $qu4a = "SELECT * FROM ny_page WHERE texte='$page_name' AND actif=1 AND date_fin=''";								
    $re4a = mysql_query($qu4a);					
    $va4a = mysql_fetch_array($re4a);
    $id_page=$va4a['id_ny_page'];
    }

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 210
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 210
    Points : 8 437
    Points
    8 437
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Giantrick Voir le message
    Je ne veux pas utiliser Return car je n'ai pas besoin de l'afficher mais bien de l'utiliser pour d'autres requête.
    return n'affiche pas, return renvoie une valeur c'est tout

    Il faut donc faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Monte $x au carré
    function carré($x) 
    {
        $résultat = $x * $x ;
        return $résultat ; // On renvoie la valeur de $résultat
    }
     
    $a = 3 ;
    $b = carré($a) ; // $b vaut 9
    // Libre à toi d'en faire ce que tu veux


    Ajout de dernière minute, après avoir trouvé une solution, j'aimerais savoir si il en existe une autre ou pas, car je ne pense pas que les variables $GLOBAL soient les meilleures.
    C'est même ce qu'il y a de pire
    Utilise un return comme illustré plus haut.

  3. #3
    Membre habitué Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Points : 195
    Points
    195
    Par défaut
    Citation Envoyé par Séb. Voir le message
    return n'affiche pas, return renvoie une valeur c'est tout
    Merci, ce n'était pas dans ma fonction le problème mais dans mon script...

    voilà ce que j'avais fait initialement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo id_page($page_name) ;
    c'est pour cela que mon return s'affichait.

    Voilà donc ce que j'ai fais et cela fonctionne bien.
    la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function id_page($page_name)
    {
    $qu4a = "SELECT * FROM ny_page WHERE texte='$page_name' AND actif=1 AND date_fin=''";								
    $re4a = mysql_query($qu4a);					
    $va4a = mysql_fetch_array($re4a);
    $id_page=$va4a['id_ny_page'];
    return $id_page;
    }
    le code d'appel pour passer le return dans une variable que je dois réutiliser dans une requête mysql.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $id_page=id_page($page_name);
    En effet, je me doutais que le Global n'était pas bon, mais mon erreur n'était pas dans la fonction mais bien dans l'appel de la fonction.

    Merci encore.

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

Discussions similaires

  1. [Conception] récupération d'une variable php dans une autre page
    Par vali7 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/01/2006, 11h19
  2. changer et afficher une variable en fonction d'un select
    Par psychoBob dans le forum Général JavaScript
    Réponses: 30
    Dernier message: 22/11/2005, 08h15
  3. petite question sur la récupération d'une variable
    Par minusette dans le forum Langage
    Réponses: 6
    Dernier message: 17/11/2005, 16h57
  4. [C#] Récupération d'une variable d'environnement
    Par jamy79 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/08/2005, 14h03
  5. Récupération d'une variable
    Par cach dans le forum Windows
    Réponses: 7
    Dernier message: 22/02/2005, 11h19

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