Comment retourner php+html via une fonction ?

chico -  
 chico -
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 15479 Statut Modérateur 366
 
Essayes de mettre un :
global $_get;
au début de ta fonction.
0
chico
 
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
chico
 
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 2845 Statut Membre 527
 
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
chico
 
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 40050 Date d'inscription   Statut Modérateur Dernière intervention   4 758
 
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 40050 Date d'inscription   Statut Modérateur Dernière intervention   4 758
 
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
chico
 
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