Boucles While imbriqués

Résolu
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009 - 6 janv. 2009 à 19:23
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009 - 7 janv. 2009 à 15:35
Bonjour,
je poste un petit message ici pour avoir un peu d'aide car j'ai un problème que je n'arrive pas a résoudre.
Voila, j'ai 2 boucles while imbriqué qui vont chercher des données dans ma base de données mysql.

Le probleme c'est que j'ai une belle erreure :

Notice: Undefined index: id_site in C:\Program Files\EasyPHP 2.0b1\www\leSitePratique\more.php on line 128

Et cette erreure pour tout les indexs du dernier while.

Si vous avez une piste, merci de votre aide, car la je bloque !



$rq_ss_cat mysql_query("SELECT * FROM ss_categorie WHERE id_cat $id_cat");
 if (mysql_num_rows($rq_ss_cat) > 0) {
     while ($data_ss_cat = mysql_fetch_assoc($rq_ss_cat))
 {
 $id_ss_cat = $data_ss_cat['id_ss_cat'];
 $nom_ss_categorie = $data_ss_cat['nom_ss_cat'];
 echo "<tr>";
 echo "<td> $nom_ss_categorie <td>";
 
 
 
 $rq_site mysql_query("SELECT * FROM site WHERE id_ss_cat $id_ss_cat");
 if (mysql_num_rows($rq_site) > 0) {
     while ($data_site = mysql_fetch_array($rq_site))
 {
 $id_site = $data_cat['id_site'];
 $nom_site = $data_cat['nom_site'];
 $url_site = $data_cat['url_site'];
 $hits_site = $data_cat['hits_site'];
 }
}
}
 }


Merci d'avance a vous !!</td></td></tr>

6 réponses

Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009
7 janv. 2009 à 15:35
désoler, j'ai fais mon gros boulet !
ça ne marchais pas tout simplement parceque je mettais :

$data_cat['id_site'];

alors qu'il fallait bien evidement mettre :

$data_site['id_site'];


Merci quand meme :)
3
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009
6 janv. 2009 à 19:26
Désoler pour ce premier post raté !!
Je réécris mon post.

Bonjour,
je poste un petit message ici pour avoir un peu d'aide car j'ai un problème que je n'arrive pas a résoudre.
Voila, j'ai 2 boucles while imbriqué qui vont chercher des données dans ma base de données mysql.

Le probleme c'est que j'ai une belle erreure :

Notice: Undefined index: id_site in C:\Program Files\EasyPHP 2.0b1\www\leSitePratique\more.php on line 128

Et cette erreure pour tout les indexs du dernier while.

Si vous avez une piste, merci de votre aide, car la je bloque !




$rq_ss_cat mysql_query("SELECT * FROM ss_categorie WHERE id_cat $id_cat");
if (mysql_num_rows($rq_ss_cat) > 0) {
while ($data_ss_cat = mysql_fetch_assoc($rq_ss_cat))
{
 $id_ss_cat = $data_ss_cat['id_ss_cat'];
$nom_ss_categorie = $data_ss_cat['nom_ss_cat'];
echo "<tr>";
echo "<td> $nom_ss_categorie <td>";
 
$rq_site mysql_query("SELECT * FROM site WHERE id_ss_cat $id_ss_cat");
if (mysql_num_rows($rq_site) > 0) {
 while ($data_site = mysql_fetch_array($rq_site))
 {
 $id_site = $data_cat['id_site'];
$nom_site = $data_cat['nom_site'];
$url_site = $data_cat['url_site'];
$hits_site = $data_cat['hits_site'];
 }
}
}
 }


Merci d'avance a vous !!
0
krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009 1
6 janv. 2009 à 20:27
Salut,
2 possibilités: soit ta clé primaire n'est pas id_site dans ta table, soit ta requete $rq_site n'est pas bonne pour une quelconque raison.
Essaie de faire un echo de ton $rq_site est d'exécuter la requete direct dans phpmyadmin
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
6 janv. 2009 à 20:53
et indente ton code >_<

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
6 janv. 2009 à 21:43
Salut,

Pour déboguer :$rq_site mysql_query("SELECT * FROM site WHERE id_ss_cat $id_ss_cat");

>if (false $rq_site mysql_query("SELECT * FROM site WHERE id_ss_cat $id_ss_cat")) die(mysql_error());

Si c'est une erreur de requête, comme le suggère Krolenain, tu le verras tout de suite.

Et indente !!! ... mais pas au point de ton premier poste hein 

Kohntark -
0
Johandev35 Messages postés 20 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 7 janvier 2009
7 janv. 2009 à 15:07
Bonjour, et merci à vous tous pour vos réponses :)
Je vais essayer d'expliquer un peu plus clairement ma base de données pour vous aidez a comprendre mon probleme.
J'ai les tables suivantes :
catégorie(id_cat, nom_cat);
ss_catégorie(id_ss_cat, nom_ss_cat, #id_cat);
site(id_site, nom_site, url_site, hits_site, #id_ss_cat);

J'ai essayé la technique de Kohntark, mais ce n'est pas une erreure de requete, j'ai donc fais un echo de ma requete :
echo "SELECT * FROM site WHERE id_ss_cat = $id_ss_cat"

Resultat :
SELECT * FROM site WHERE id_ss_cat = 4
SELECT * FROM site WHERE id_ss_cat = 5
SELECT * FROM site WHERE id_ss_cat = 6

Ce qui est normal car il y a 3 sous catégorie, dans la catégorie.
En fait je veux selectionner les ss_catégories de la catégorie 10 par exemples, et afficher les sites de chaques catégories.

Par exemple :

Gaming :
www.Jeux_video.com
Prog :
www.phpcs.com

systeme d'exploitation :
www.ubuntu.com


Je vous remet mon code indenté cette fois :

$rq_ss_cat mysql_query("SELECT * FROM ss_categorie WHERE id_cat $id_cat");
if (mysql_num_rows($rq_ss_cat) > 0) {
while ($data_ss_cat = mysql_fetch_assoc($rq_ss_cat))
{
$id_ss_cat = $data_ss_cat['id_ss_cat'];
$nom_ss_categorie = $data_ss_cat['nom_ss_cat'];
echo "<tr>";
echo "<td> $nom_ss_categorie <td>";

$rq_site mysql_query("SELECT * FROM site WHERE id_ss_cat $id_ss_cat");
if (mysql_num_rows($rq_site) > 0) {
while ($data_site = mysql_fetch_array($rq_site))
{
$id_site = $data_cat['id_site'];
$nom_site = $data_cat['nom_site'];
$url_site = $data_cat['url_site'];
$hits_site = $data_cat['hits_site'];
}
}
}
}
0
Rejoignez-nous