Comment retourner php+html via une fonction ?

Fermé
chico - Modifié par jordane45 le 23/12/2014 à 11:01
 chico - 23 déc. 2014 à 18:40
Bonsoir, après qq tests infructueux j'espère que quelqu'un pourra me répondre :
La fonction testBibi($x) doit me renvoyer la <table> contenue dans le fichier $x['form'] remplie avec l'array $x['tableau'].
Cette table peut être décrite dans un fichier html ou php.
 //fonction de classe.php :
public function testBibi($x){
   if($x['tableau']!="" and is_array($x)){
        $_get['sauvage'] = $x['tableau'];
         include('plugins/pluginTest/forms/'.$x['form'].'.php'); 
    return (comment ?);
}  
 }
//contenu de/forms/tableau1.php
<table><tr><?php
foreach ($_get['sauvage'] as $q){
echo'<td>'.$q[0].'</td>';
echo'<td>'.$q[1].'</td>';
}
?><tr></table>

J'utilise parfois le coup du $_get avant l'include pour des variables simples, jamais des tableaux, dans un switch par exemple.
Je me moque que le contenu soit référencé par g**gle et souhaite éviter le Javascript.
Là je me demande comment retourner proprement le calcul des deux ?
Merci pour toute aide



A voir également:

4 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
22 déc. 2014 à 20:38
Essayes de mettre un :
global $_get;
au début de ta fonction.
0
Merci de cette réponse, pas besoin de global(iser) mon tableau passe en l'état, mais je perds les arrays des selects...qu'il faudrait alors rajouter aussi dans le tableau des params passés et je crains que ça n'alourdisse trop le traitement.
Je vais reformuler plus précisement pour ne pas mourir idiot.
0
Je reformule pour être plus précis. Dans une fonction :
public fonction getTableau{
if($x['tableau']!="") {$tableau= $x['tableau'];} 
if($x['form']!="") { 
$_get['tableau']=$tableau;
include('plugins/test/forms/'.$x['form'].'.php');}
return $tableau;
}

Comment récupérer le formulaire rempli avec $tableau(?) alors que cette variable n'est retournée qu'après l'include...puisque dans le return;
Merci de votre attention.
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 23/12/2014 à 10:14
Salut,

Que contient le fichier inclus ?

Si il ne contient qu'un traitement brut, tu peux intercepter l'affichage (la sortie) de ce fichier inclus en utilisant la bufferisation de sortie (http://php.net/manual/fr/ref.outcontrol.php).
Le plus simple serait que ton fichier inclus contienne une autre fonction, il suffirait alors d'appeler cette fonction pour récupérer son résultat.

Bonne journée
0
Bonsoir et merci de cette réponse, je potasserai certainement ces fonctions que j'ai déjà croisé mais là je gère l'urgence pour disposer d'une version stable de tous les formulaires avant la reprise de janvier.
La facilite me pousse à copier/coller des blocs de lignes pour l'instant, je reviendrais sur ma classe plus tard.
Bonnes fêtes
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
23 déc. 2014 à 10:52
Bonjour,


Comment récupérer le formulaire rempli avec $tableau(?) alors que cette variable n'est retournée qu'après l'include...puisque dans le return;


Ben.. tout dépend comment tu appelles ta fonction..
mais dans le principe :

function test(){
 $x = "ceci est un test";
 $y =150;
$result = array($x,$y);
return $result ;
}

echo "je récupère la valeur de ma fonction :";
$maVariable = test();
print_r($maVariable );


0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
23 déc. 2014 à 10:56
Maintenant.. si ton souhait est de récupérer la variable $tableau DANS ton include ..
et bien.. tu n'as rien à faire normalement... $tableau ( qui est créé AVANT ton include) sera disponible dedans normalement...
0
Bonsoir et merci de cette réponse, avec $x=include('le bouzin en HTML+PHP'), le return serait plus simple.
Effectivement $tableau est créé avant include mais cette fonction (qui retourne un $array) me servait aussi à boucler la récupération des array des selects de recherche...en entête du tableau
...d'où l'idée de rajouter une condition $x['form'] pour sortir soit en $array, soit en HTML en piochant dans les modèles de formulaires dispos dans un dossier, d'où include(modèle1) si $x['form'] =modèle1.
J'ignore si je suis assez explicite mais ce soir je vais éteindre l'écran avec un truc fonctionnel pas trop sale et gérable pour les droits.
Je vous souhaite tous de bonnes fêtes en famille.
Encore Merci.
0