Page 1 sur 1

switch dynamique

Posté : 03 mars 2006, 10:18
par renan44
Bonjour,
je souhaite générer un switch d'où les valeurs proviennent d'une base de donnée.

Voici le code que j'ai fait :

Code : Tout sélectionner

$MENU_TEMP_EXCLU .='case \'exclu'.$affiche[0].'\' : $ID_EXCLU='.$affiche[0].'; $PAGE=\''.$page.'\'; '; if($couleur_site_temp2!='non') { $MENU_TEMP_EXCLU .='$titre_cat=\''.strtoupper(substr($affiche[1], -1, 1)).'\'; '. "couleur_site(\"$couleur_site_temp2\");"; } else { $MENU_TEMP_EXCLU .='$titre_cat=\''.strtoupper($affiche[1]).'\';'; } $MENU_TEMP_EXCLU .=' break;';
c'est la partie qui génère chaque ligne du switch. Ensuite, je fais :

Code : Tout sélectionner

switch($PAGE) { echo $MENU_TEMP_EXCLU; }
$PAGE est la variable que je récupère dans la barre d'adresse ( $PAGE=$_GET['page']; )

Le problème est que les lignes ne sont pas interprétées et donc les pages ne s'affichent pas !

Comment faire cela ?
Merci d'avance de vos réponses

Posté : 03 mars 2006, 10:48
par Hermès
essaye la commande eval() à laquelle tu passes ton code php.

http://www.nexen.net/index.php?option=c ... n.eval.php

Posté : 03 mars 2006, 11:12
par renan44
La commande eval ne fonctionne apparement pas, voilà comemtn je l'ai traité :

Code : Tout sélectionner

$MENU_TEMP_EXCLU .='case \'exclu'.$affiche[0].'\' : $ID_EXCLU='.$affiche[0].'; $PAGE=\''.$page.'\'; '; if($couleur_site_temp2!='non') { $MENU_TEMP_EXCLU .='$titre_cat=\''.strtoupper(substr($affiche[1], -1, 1)).'\'; '. "couleur_site(\"$couleur_site_temp2\");"; } else { $MENU_TEMP_EXCLU .='$titre_cat=\''.strtoupper($affiche[1]).'\';'; } $MENU_TEMP_EXCLU .=' break;'; eval("\$MENU_TEMP_EXCLU = \"$MENU_TEMP_EXCLU\";");
et j'ai repris le même code pour l'affichage dans le switch.
Si quelqu'un connait une solution, ce serait sympa, car là ça me bloque pas mal !

Re: switch dynamique

Posté : 28 févr. 2017, 12:38
par Shion57
Bonjour,


Je relis ton bout de code avant de poster, le problème vient de ta fonction d' affichage avant le stockage dans ta variable sur laquelle tu fais le écho dans le switch, il me semble.
Par contre je suis étonné qu' il n y ai aucun affichage en sortie dans ton switch, peu être, qu' aucunes conditions n' est remplie.

Je viens de voir la date de ta demande, je suppose que tu as solutionné ton pb depuis ^_^.