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

PHP & Base de données Discussion :

Appeler le résultat d'une fonction dans une table et afficher la fonction enregistré


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Par défaut Appeler le résultat d'une fonction dans une table et afficher la fonction enregistré
    Bonjour à tous,

    j'ai une table qui emagasine des nom de function
    cependant je souhaiterai afficher le résultat optenu hors il m'affiche la ligne de la fonction.
    j'ai essayé d'utiliser call_user_func mais par l'affichage d'un résultat dynamique mais cela ne fonctionne pas voici mes fonctions et résultat obtenu

    function de requete sql
    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
    function lecture_bloc()
    {
    $bdd = connexion_bdd();
    $requete = $bdd->prepare("SELECT * FROM `tbl_constitution_bloc`
    						INNER JOIN tbl_fonctions
    						ON tbl_constitution_bloc.id_fonction  = tbl_fonctions.id_fonction
    						INNER JOIN tbl_contenu_bloc
    						ON tbl_constitution_bloc.id_contenu_bloc = tbl_contenu_bloc.id_contenu_bloc
    						INNER JOIN tbl_contenu_photo_bloc
    						ON tbl_contenu_photo_bloc.id_contenu_bloc = tbl_contenu_bloc.id_contenu_bloc
    						INNER JOIN tbl_menu
    						ON tbl_constitution_bloc.id_menu = tbl_menu.id_menu
    						WHERE tbl_constitution_bloc.id_menu = ".intval($_GET['id_menu']));						
    $requete->execute(array(intval($_GET['id_menu'])));
    $resultat_requete = $requete->fetchAll();
     
    return $resultat_requete ;	
    }
    function d'appel a la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function appel_fonction()
    {
    $bloc = lecture_bloc();		
    $resultat = '';
     
    foreach ( $bloc as $fonction ){
    $resultat .= 
    		$fonction['nom_fonction'];	
    }
    return 	$resultat;
    }
    dans ma page appel de la fonction via : <?php echo appel_fonction();?>

    j'obtiens le résultat bloc_titre_description_center(lecture_bloc()); au format texte alors que je souhaiterai l'affichage complet de la fonction bloc_titre_description_centre

    et voici ma fonction a afficher

    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
    function bloc_titre_description_center($liste)
    {
    $resultat = '';
     
    foreach ( $liste as $contenu ){
    $resultat .= "
    <div class='centre'>
    	<div id='content'>
    		<h2><strong>".$contenu['titre_contenu_bloc']."</h2>
    		<p>".$contenu['description_contenu_bloc']."</p>
    	</div>               
    </div> 
    ";	
    }
    return 	$resultat;
    }
    je lutte depuis un moment merci pour votre grande aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    $fonction['nom_fonction'] vaut ' bloc_titre_description_center(lecture_bloc());' ?
    Si oui alors effectivement cela pose problème, call_user_func attend le nom de la fonction seul, et les paramètres à part, pas une ligne de code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Par défaut
    oui cela est exact $fonction['nom_fonction'] est bien égale a "bloc_titre_description_center(lecture_bloc())"
    Donc dans ma table je supprime les paramètres pour laisser juste : "bloc_titre_description_center();"

    Puis sur ma page qui lance la foncion appel_ fonction j'effectue cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call_user_func('appel_fonction', '');
    mais en second paramètre je place l'autre fonction lecture ? car normalement c'est ne valeur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call_user_func('appel_fonction', 'lecture_bloc()');
    merci pour votre aide aide

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le nom de la fonction c'est 'bloc_titre_description_center' sans parenthèse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call_user_func($fonction['nom], lecture_bloc());
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Par défaut
    donc j'ai procédé comme cela voici a présent ma fonction appel_fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function appel_fonction()
    {
    $bloc = lecture_bloc();		
    $resultat = '';
     
    foreach ( $bloc as $fonction ){
    $resultat .= 
     
    call_user_func($fonction['nom_fonction'], $bloc);			
    }
    return 	$resultat;
    }
    sur ma page qui interroge j'ai éfféctué cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo appel_fonction();?>
    Le résultat fonctionne bien mais il me crée des doublons cela dois etre normal a cause du foreach non ?

    car j'aivas essayé de laisser la fonction appel_fonction comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function appel_fonction()
    {
    $bloc = lecture_bloc();		
    $resultat = '';
     
    foreach ( $bloc as $fonction ){
    $resultat .= 
    		$fonction['nom_fonction'];	
    }
    return 	$resultat;
    puis dans ma page qui interroge mettre cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php call_user_func(appel_fonction, lecture_bloc());?>
    mais j'obtiens une erreu
    Notice: Use of undefined constant appel_fonction - assumed 'appel_fonction' in C:\wamp64\www\xxx\test.php on line

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si ton analyse est que le foreach ne doit pas être là, retire le.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. Réponses: 4
    Dernier message: 02/07/2008, 11h32
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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