par
sadeq » 11 oct. 2005, 17:04
ba, avec le code qu'on a maintenant:
au lieu que la boucle affiche les tables elle renvoi n° par n° à ce même programme qui doit afficher le contenu de chaque n° reçu dans un popup
Pour satisfaire la recursivité, le paramètre sgx va jouer deux rôles:
1. initialement il contiendra la liste des tables à afficher
2. à chaque récursivité sgx contient le n° d'une table à afficher dans un popup
Les sgx 2 n'ecrase pas la session du sgx 1 pour la simple raison que les sgx 2 sont programmés à retardement par du code javascript.
De ce fait tous les popup programmé seront exécuté (ouvert) côté client et chaque popup envoi son propre sgx à notre programme qui cette fois affiche la table correspondant au sgx.
Pour que le programme fasse la différence entre un sgx tableau (1) et un sgx (2) valeur emmanant d'un popup, il suffit de tester la nature de sgx par la fonction is_array()
Si sgx est un tableau alors l'écriture des popup commence pour tous les sgx
sinon il s'agit d'afficher une valeur précise de sgx
Le programme modifié devient :
<?
//Pour exécuter ce programme, donner le paramètre sgx sous forme de tableau :
//Exemple: http://monsite/cette_page?sgx[0]=1&sgx[1]=2
//Ouvrir la connexion à la BDD
mysql_connect("localhost", "root", "root");
mysql_select_db("test");
//Récupérer la liste des id sgx envoyés par GET
$sgx = isset($_GET["sgx"])?$_GET["sgx"]:null;
//Traiter tous les sgx reçus
if ($sgx != null){
if (is_array($sgx)){
//Traitement de tous les sgx reçus
foreach ($sgx as $x){
//renvoi à la même page mais avec le paramètre $x => afficher séparement la page $x
echo "<script>open('http://localhost/test/double_tables.php?sgx=$x','page$x');</script>";
}//sgx suivant
}
else {
//Traitement d'une table sgx
$table = "saison_sg$sgx";
$reponse = mysql_query("SELECT * FROM $table ORDER BY epi");
//Affichage de table
echo "<h3>Saison $sgx</h3>";
while ($donnees = mysql_fetch_array($reponse)){
if ($donnees['epi'] > $sgx*100 AND $donnees['epi'] < ($sgx+1) * 100) {
?>
<div class="titre_epi">
<? echo '<a href="episode.php?epi=' .$donnees['epi'].'">'
.$donnees['epi'].' - '.$donnees['titre_vf'].' - '.$donnees['titre_vo']."</a>"
?>
</div>
<?
}
}//donnees suivantes
}//Fin table
}
else echo "Aucune table!";
//fermer la connexion
mysql_close ();
?>