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 :

Appeler une fonction créée lorsqu'on est à l'intérieur d'une expression


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut Appeler une fonction créée lorsqu'on est à l'intérieur d'une expression
    Bonjour,

    J'ai un mega problème avec ma fonction que je dois appeler. Je ne sais pas comment faire lorsque je suis à l'intérieur d'une expression.
    Je vous remercie d'avance beaucoup.

    Voici la fonction
    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
    //Afficher la liste des véhicules
    function lister_vehicules(){
    include('fonctions/connections.php');
    $vehicule_requete = "SELECT * FROM vehicule  ORDER BY ID ASC ";
    $vehicule_req = mysql_query($vehicule_requete, $idConnex) or die(mysql_error());
    echo "<select name =\"levehicule\">"; 
    echo "<option value=\"selectionner\">Choisir le véhicule</option>";
    while ($vehicule_myRow = mysql_fetch_assoc($vehicule_req)){
    // tant que la fonction mysql_fetch_assoc($req) returne une ligne du resultat:
    $vehicule = $vehicule_myRow['vehicule'];
    // affiche le resultat
    echo "<option value=\"$vehicule\">$vehicule</option>";
    }
    echo " </select>";
    }
    Voici l'appel de la fonction à l'intérieur de l'expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //Voici l'appel de la fonction
     $valeur= '<td width="30%" height="13" valign="top" class="matableTd">'. mafonction() .'</td>
                  <td width="30%" valign="top" class="matableTd">Nb. personnes ';
     
    //Affcher valeur
    echo $valeur;
    Merci beaucoup

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 70
    Par défaut
    Salut,
    plutot que de faire des echos dans ta fonction créé une chaine de caratere que tu retournes. Ainsi tout se fera correctement au niveau du echo $valeur;

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ta fonction fait des echos, donc inutile de l'incorporer dans un echo. Sinon c'est comme si tu faisais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo (echo "chaussette"););
    Tu peux simplement l'appeler entre deux echos
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //Voici l'appel de la fonction
     echo '<td width="30%" height="13" valign="top" class="matableTd">';
     mafonction() 
     echo '</td> <td width="30%" valign="top" class="matableTd">Nb. personnes ';
    Ou la transformer pour qu'elle renvoie une chaine que tu incorporerais dans ton echo
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    personnellement j'ai eu des problèmes en voulait faire un echo() d'une function qui retournait un <select></select> je pencherais donc pour l'option dites plus haut... il manque juste un point-virgule après "maFonction()" ^^

  5. #5
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut
    Finalement ce qu'il faut faire, que j'ai d'ailleurs fait et qui marche, c'est de faire une fonction qui retourne une valeur sans mettre des echo à l'intérieur de la fonction et ensuite appeler la fonction dans le <select>

    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
    <?php
    //Afficher la liste des véhicules
    //Déclaration de la fonction
    function lister_vehicules($valeur_liste){
    include('fonctions/connections.php');
    $vehicule_requete = "SELECT * FROM vehicule  ORDER BY ID ASC ";
    $vehicule_req = mysql_query($vehicule_requete, $idConnex) or die(mysql_error());
    $valeur_liste = "<select name =\"levehicule\">"; 
    $valeur_liste .= "<option value=\"selectionner\">Choisir le véhicule</option>";
    while ($vehicule_myRow = mysql_fetch_assoc($vehicule_req)){
    // tant que la fonction mysql_fetch_assoc($req) returne une ligne du resultat:
    $vehicule = $vehicule_myRow['vehicule'];
    // affiche le resultat
    $valeur_liste .= "<option value=\"$vehicule\">$vehicule</option>";
    }
    $valeur_liste .= " </select>";
    return $valeur_liste;
    }
     
    ?>
    Appeler la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td width="30%" height="13" valign="top" '.lister_vehicules($mavaleur).'</td>
    Merci à vous tous.
    Et surtout ne pas oublier de se protéger contre l'ignorance en apprenant à faire ses petits pas.

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

Discussions similaires

  1. appeler une fonction dont le nom est dans un parametre
    Par djams9 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 15/06/2011, 11h42
  2. Réponses: 6
    Dernier message: 02/10/2006, 12h13
  3. Réponses: 5
    Dernier message: 15/08/2006, 10h40
  4. [Reflection] Executer une fonction dont le nom est contenu dans un String
    Par christobal dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 05/07/2004, 15h23

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