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 habitué 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
    Points : 153
    Points
    153
    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 du Club
    Inscrit en
    Mars 2008
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 70
    Points : 66
    Points
    66
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    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

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    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 habitué 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
    Points : 153
    Points
    153
    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