2 boucles sur une seule requete

Répondre
didite49
le 26/01/2005 à 16:04
didite49
Bonjour, j'ai mis ce sujet en ne sachant pas si c'est bien mon problème.

Je crée une page qui me fait des include vers les pages demandées, si aucune page demandé : page d'accueil et si les pages demandées ont des pages afférente je demande d'afficher une liste de ses pages. En plus je jongle avec 2 div (un pour une barre de sous menu et un pour l'affichage de la page.)

smiley Je sais pas si je suis très claire. Je vous mets le code dès fois que ce soit plus clair.

<?
include("connexion.php");

//SI MENU CHOISI
//**************
if (isset($_GET["IDRub"]))
{
// Requete Menu choisi
$Rec_Gam = "SELECT Menu_ID, Menu_Titre FROM Menu where Menu_ID=".$_GET["IDRub"];
$result_Gam = mysql_query($Rec_Gam);
$row_Gam = mysql_fetch_row($result_Gam);

$ID_Gam = $row_Gam[0];
$Titre_Gam = $row_Gam[1];

// Requete SsMenu du Menu choisi
$Rec_SsGam = "SELECT Menu_ID, Menu_Titre FROM Menu where Menu_Parent=".$_GET["IDRub"];
$result_SsGam = mysql_query($Rec_SsGam);

//DIV Barre NOIRE
echo "<div id='barrenoir'><b>";

//effichage menu choisi
echo "<span id='textbarrenoir'>&nbsp;&nbsp;Accueil >> ".$Titre_Gam."</span>";

//affichage sous menu
echo "<div id='Ssmenu'><span id='textbarrenoir'><b>";

While ($row_SsGam = mysql_fetch_row($result_SsGam))
{
$ID_SsGam = $row_SsGam[0];
$Titre_SsGam = $row_SsGam[1];

echo $Titre_SsGam."&nbsp;&nbsp;&nbsp;";
}
echo "</b></span></div></div>";
//FIN DIV Barre NOIRE

// DIV CENTRE

// SI PAS DE SOUS MENU
//********************

if(!isset($ID_SsGam))
{
echo "<div id='centre'>";

// Recherche IDParent de la rubrique
$Rec_Parent="SELECT Menu_Parent From Menu Where Menu_ID=".$ID_Gam;
$Result_Parent=mysql_query($Rec_Parent);
$Row_Parent = mysql_fetch_row($Result_Parent);

$ID_Parent=$Row_Parent[0];

switch ($ID_Parent)
{
case 1:
Include("texte.php");
break;
case 5:
Include("texte.php");
break;
case 6:
Include("piece.php");
break;
case 7:
Include("animation.php");
break;
case 8:
Include("animation.php");
break;
case 9:
switch ($ID_Gam)
{
case 25:
Include("plusinfo.php");
break;
case 26:
Include("acces.html");
break;
case 27:
Include("ldd.php");
break;
break;
}
}
}
//SI SOUS MENU
//************
else
{

//CEST ICI QUE çA NE FONCTIONNE PAS
//apparement je passe pas dans le while
//*************************************
While ($row_SsGam1 = mysql_fetch_row($result_SsGam))
{
$ID_SsGam1 = $row_SsGam1[0];
$Titre_SsGam1 = $row_SsGam1[1];

echo "<br><br>".$Titre_SsGam1."&nbsp;&nbsp;&nbsp;";
}
}
echo "</div>";
//FIN DIV CENTRE

}
// SI Menu PAS CHOISI
//*******************
else
{
echo "<div id='barrenoir'><b><span id='textbarrenoir'>&nbsp;&nbsp;Accueil</span></b></div>";
// DIV CENTRE si aucun menu selectionner
echo "<div id='centre'>";
Include("accueil.htm");
echo "</div>";
}
include("deconnexion.php");
?>


Aidez moi à comprendre ce qui ne va pas please. smiley
didite49
moogli
le 26/01/2005 à 16:33
moogli
SAlut,


Vu ta taille de ton script; le wall serait + indiqué !!! (lien dans le menu).

je pense que le problème vient du fait que tu a déja effectuer le meme while au début du script et qu'il n'y a plus rien a afficher. Pour ne pas faire une autre requete, tu peut (dans le 1er while) mettre les infos qui t'interessent dans un (plusieurs) tableau(x) et tu l'utilise (les utilisent) en lieu et place du second while !


smiley
Il en faut peu pour être heureux !!!!!
zebden
le 26/01/2005 à 16:43
zebden
dans un switch ce n'est pas else pour la page par defaut par default: utilisé comme case.
zebdinou pour les intimes / Blog : http://www.zebden.fr
didite49
le 26/01/2005 à 16:45
didite49
Je pense aussi que ça vient de la. Je vais faire comme tu dis.

Pour le Wall j'y penserai la prochaine fois.
Merci
didite49
didite49
le 26/01/2005 à 16:46
didite49
le else n'est pas pour le switch mais pour le if qu'il y'a tout au début.
didite49
burnedsoul
le 26/01/2005 à 17:50
burnedsoul
Par contre fait gaffe avec ton switch, c'est pas vraiment sécurisé et j'ai eu des problèmes avec ça.
Webmaster de Clikmag http://www.clikmag.fr
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours