Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fonction d'affichage des valeurs d'un tableau se trouvant dans un autre tableau

3 réponses
Avatar
Tiny ^_^
Bonjour,

J'ai mis des donénes dans un tableau, et mis ce dernier dans un autre tableau...
Ces tableaux se trouvent dans une feuille .php à l'extérieur de ma feuille HTML et je l'appelle avec
un include().

Le but de ma fonction : afficher les valeurs du tableau 2 (celui tout au fond de mon arborescence)
dans ma feuille html grâce à une liste de sélection....

voila mon code HTML, mon code php, et ma fonction :

MA LISTE DE SELCTION
<form name="franc" method="post" action="smfranchise.php"><div class="textesm"
style="vertical-align:middle">Choisissez la ville qui vous intéresse :<br><br><select name="liste"
class="textesm" onChange="submit()">
<option value="aix">Aix-en-provence</option>
.......
<option value="toulouse">Toulouse</option>
</select></div></form></TD>
</TR>
<tr>
<td colspan=2 class="textesm">
<?
include("../adresses.php");
afficher($coordonnees,$liste);
?>
</td>

MON TABLEAU
$coordonnees=array(
"aix"=>array("nom"=>"Cours ESCAGI<br>",
"adresse"=>"13, rue de la poudrière<br>13090 Aix-en-provence<br>",
"tel"=>"04.42.59.14.02<br>",
"fax"=>"04.42.64.38.11<br>",
"email"=>"bac2000-escagi@wanadoo.fr<br>",
"site"=>"www.bac2000-escagi.com<br>"),
"bordeaux"=>array("nom"=>"Institut Bernom<br>",
"adresse"=>"379, Boulevard P. Wilson<br>33000 Bordeaux<br>",
"tel"=>"05.57.22.42.42<br>",
"fax"=>"05.57.22.42.33<br>",
"email"=>cifac@bernom.com<br>,))

MA FONCTION
function afficher($tablo,$choix)
{
echo "la fonction se met en marche<br>";
foreach($tablo as $choix)
{
echo "passage en revue du premier tableau<br>";
if(in_array($choix,$tablo))
{
echo"Si la ville est dans le tablo<br>";
foreach($choix as $cle=>$valeur)
{
echo $valeur;
}
}
else
{
echo "la ville que vous cherchez n/'est pas dans le tableau<br>";
}
}
}

Cependant, lorsque je choisis une ville, ma fonction m'affiche toutes les villes !!
je n'arrive à saisir où est mon soucis, ni à limiter l'affichage à la seule ville choisie...
vous pouvez voir le résultat (fameux hein qd meme!) à l'adresse suivante :
http://www.vidal-formation.fr/sm/smfranchise.php

merci d'avance !

--
Sébastien

3 réponses

Avatar
Tiny ^_^
Je sais pas encore si certains ont répondu, mais c bon, ca fonctionne !
j'ai réussi à trouver ma solution, au bout de 3 jours certe, mais j'ai réussi !!

je peux aller dormir maintenant ! ^_^

--
Sébastien
Avatar
Nicolas Moreau
Tiny ^_^ wrote:

Je sais pas encore si certains ont répondu, mais c bon, ca fonctionne !
j'ai réussi à trouver ma solution, au bout de 3 jours certe, mais j'ai réussi !!

je peux aller dormir maintenant ! ^_^


Tu peux aussi en faire profiter le reste du groupe ...


--
Nicolas Moreau

Avatar
Tiny ^_^
Salut,

Tu pourrais aussi bien dire bonjour et au revoir ! ;o)

Pour le résultat : www.vidal-formation.fr/sm/smfranchise.php

Bon, voila le code de ma FONCTION :

function afficher($tablo,$choix)
//tablo=tablo principal et choix=valeur de la liste de sélection)
{
//echo "Le select : ".$choix;
//echo " - la fonction se met en marche<br>";
foreach($tablo as $cle=>$data)
{
//echo "passage en revue du tablo1:".$cle."<br>";
if($cle==$choix)
{
//echo"la condition si est remplie";
foreach($data as $value)
{
//echo "passage en revue du tablo2";
echo $value;
}
}
}
}

PHP dans ma page HTML (avec un onchange=submit() et la première valeur du select égale à # pour que
"aix" puisse être validé au changement)
<?
include("../adresses.php");
?>
<br><div align="center">
<?
afficher($coordonnees,$liste);
?>
<br></div>

et un exemple de TABLEAU ($coordonnees est le tablo1, aix est une clé du tablo1, mais est aussi
tablo2 (tout comme bordeaux)
$coordonnees=array
(
"aix"=>array
(
"nom"=>"<b>Cours ESCAGI</b><br>",
"adresse"=>"13, rue de la poudrière<br>13090 Aix-en-provence<br>",
"tel"=>"téléphone : 04.42.59.14.02<br>",
"fax"=>"télécopie : 04.42.64.38.11<br>",
"email"=>"<a href='mailto:'
class='textesm'></a><br>",
"site"=>"<a href='http://www.bac2000-escagi.com' class='textesm'
target='_blank'>www.bac2000-escagi.com</a><br>"
),

"bordeaux"=>array
(
"nom"=>"<strong>Institut Bernom</strong><br>",
"adresse"=>"379, Boulevard P. Wilson<br>33000 Bordeaux<br>",
"tel"=>"téléphone : 05.57.22.42.42<br>",
"fax"=>"télécopie : 05.57.22.42.33<br>",
"email"=>"<a href='mailto:' class='textesm'></a><br>",
"site"=>"<a href='http://www.bernom.com' class='textesm' target='_blank'>www.bernom.com</a><br>"
),
);

Enjoy !

Séb.