Bonjour à tous,
Je viens solliciter votre aide avant de finir d'arracher les quelques cheveux qu'il me reste…
Alors, voilà :
D'un côté j'ai plusieurs tableaux multidimensionnels (nommés : $tabImgProjet001,$tabImgProjet002, $tabImgProjet003,etc.);
de l'autre côté j'ai une variable $numeroProjet qui reçoit comme valeur : "001" ou "002" ou "003", etc.
Je souhaite qu'en fonction de la valeur de la variable $numeroProjet, on aille chercher des infos dans l'un ou l'autre des tableaux.
Si la valeur de $numeroProjet est 001, on va chercher des infos dans le tableau nommé $tabImgProjet001, etc.
Pour ce faire je reconstruit le nom de mon tableau à partir de la variable $numeroProjet. Pour le moment, pas de problème.
Voici le code :
<?php
//mes tableaux (j'ai simplifié, il y en a plus et ils sont plus remplis)
$tabImgProjet001[1]['imgUrl']="content/images/projet1/01.jpg";
$tabImgProjet001[1]["imgLegende"]="ici ma legende 1";
$tabImgProjet002[1]['imgUrl']="content/images/projet2/01.jpg";
$tabImgProjet002[1]["imgLegende"]="ici ma legende 1";
//Je recupère le nom de variable du tableau tabImgProjet concerné en fonction du numeroProjet. Le nom du tableau est récupéré dans la variable $identifiant
$prefixe="tabImgProjet";
$suffixe=$_SESSION['numeroProjet'];
$complet=$prefixe.$suffixe;
$identifiant=${$complet};
echo $identifiant;
echo $identifiant[1]["imgLegende"];
?>
Quand la valeur de $numeroProjet est 001, le premier echo me renvoie : array, le second me renvoie "ici ma légende 1". Donc ça marche bien.
Oui mais voilà, à présent je voudrais que tous mes tableaux soient des variables de session (accessibles dans tout le site donc). Je transforme le code ainsi :
<?php
$_SESSION['tabImgProjet001'][1]['imgUrl']="content/images/projet1/01.jpg";
$_SESSION['tabImgProjet001'][1]["imgLegende"]="ici ma legende 1";
$_SESSION['tabImgProjet002'][1]['imgUrl']="content/images/projet2/01.jpg";
$_SESSION['tabImgProjet002'][1]["imgLegende"]="ici ma legende 1";
$avant=""_SESSION[';
$prefixe="tabImgProjet";
$suffixe=$_SESSION['numeroProjet'];
$fin="']";
$complet=$avant.$prefixe.$suffixe.$fin;
$identifiant=${$complet};
echo $identifiant;
echo $complet;
?>
"echo $complet" me renvoie _SESSION['tabImgProjet001'], il reconstitue donc bien le nom de la variable.
Mais "echo $identifiant" ne renvoie rien. Apparemment la chaine n'est pas retranscrite en variable.
Avez-vous une idée d'où vient le problème ? Pourquoi ça marche dans un cas et pas dans l'autre ?
Merci par avance pour votre aide,
Sandrine
PS: desolée, la lecture n'est pas facilitée, j'ai eu beau appuyer sur le btn php et lire la faq en tous sens je n'ai pas réussi à formater le code. Si quelqu'un a une solution à ça aussi ? Merci