Menu PHP : probème de boucle (le script ne boucle pas comme il le devrait)

Répondre
Patochewie
le 22/03/2005 à 16:51
Patochewie
Je commence un menu en php avec des familles et des sous familles. J'ai un soucis au niveau du code en dessous, je rentre dans le while du $row2 que le première fois que je suis dans celui du $row.
while ($row = mysql_fetch_array($req, MYSQL_ASSOC)){


echo "<p> <u>$row[Libelle_Famille]</u></p>";

while($row2= mysql_fetch_array($req2, MYSQL_ASSOC)){

if($row['Num_Famille']==$row2['Num_Famille'])
{
echo "<p> $row2[Libelle_SousFamille]</p>";
}
}

}


Mes req et req sont des select * from latable à chaque fois.
moogli
le 23/03/2005 à 02:28
moogli
Salut,

mysql_fetch_array retourne false lorsque le tableau a été entierement parcourue ! met tes infos dans un tableau et utilise le a la place de ta requete (tu le parcourt avec foreach


smiley
Il en faut peu pour être heureux !!!!!
rosema
le 23/03/2005 à 17:17
rosema
je rentre dans le while du $row2 que le première fois que je suis dans celui du $row.

C'est normal! qu'est ce que tu veux faire?
c 'est incroyable ce que je peux écrire comme conneries
Patochewie
le 24/03/2005 à 11:41
Patochewie
Je voulais juste afficher un menu sous forme de sommaire a partir de Titre et soustitre ( famille et sousfamille).
Le fait de stocker mes sous familles m'a permis d'y arriver. ça donne ça:
$select="SELECT * FROM Famille";
$req=mysql_query ($select) or die ('Erreur SQL !'.mysql_error());

if (isset($_GET['fam']))
{
$fam=$_GET['fam'];
}
else
$fam=0;

if(isset($_GET['ssfam']))
$ssfam=$_GET['ssfam'];
else
$ssfam=0;

$select="SELECT * FROM sousfamille";
$req2=mysql_query ($select) or die ('Erreur SQL !'.mysql_error());

$i=0;
while($row2 = mysql_fetch_array($req2, MYSQL_ASSOC))
{
$tab[$i]=$row2;
$i++;
}


while ($row = mysql_fetch_array($req, MYSQL_ASSOC)){

if($row['Num_Famille']==$fam)
{


echo '<h3><a href="index.php?fam=0&ssfam='.$ssfam.'">>'.$row['Libelle_Famille'].'</a></h3>';
$num=0;
$temp=0;
for($j=0;$j<$i;$j++)
{
if($tab[$j]['Num_Famille']==$fam)
{
$num++;
$temp=$j;
}
}

if($num>1)
{
for($j=0;$j<$i;$j++)
{
if($tab[$j]['Num_Famille']==$fam)
echo '<p>&nbsp;&nbsp;<a href="index.php?fam='.$row['Num_Famille'].'&ssfam='.$tab[$j]['Num_SousFamille'].'">'.$tab[$j]['Libelle_SousFamille'].'</a></p>';
}
}

}
else
{
$num=0;
for($j=0;$j<$i;$j++)
{
if($row['Num_Famille']==$tab[$j]['Num_Famille'])
{
$num++;
$temp=$j;
}
}

if($num>1)
{
echo '<h3><a href="index.php?fam='.$row['Num_Famille'].'&ssfam='.$ssfam.'">'.$row['Libelle_Famille'].'</a></h3>';
}
else
{
echo '<h3><a href="index.php?fam='.$row['Num_Famille'].'&ssfam='.$tab[$temp]['Num_SousFamille'].'">'.$row['Libelle_Famille'].'</a></h3>';
}
}
}
Patochewie
le 24/03/2005 à 11:42
Patochewie
Oula je suis désolé j'avais pas vu la taille de mon copier/coller. Si c'est possible de le bouger...
Répondre

Ecrire un message

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