Boucles While imbriqués [Résolu]

Messages postés
20
Date d'inscription
vendredi 15 décembre 2006
Dernière intervention
7 janvier 2009
- 6 janv. 2009 à 19:23 - Dernière réponse :
Messages postés
20
Date d'inscription
vendredi 15 décembre 2006
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>
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
20
Date d'inscription
vendredi 15 décembre 2006
Dernière intervention
7 janvier 2009
- 7 janv. 2009 à 15:35
3
Merci
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 :)

Merci Johandev35 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de Johandev35
Messages postés
20
Date d'inscription
vendredi 15 décembre 2006
Dernière intervention
7 janvier 2009
- 6 janv. 2009 à 19:26
0
Merci
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 !!
Commenter la réponse de Johandev35
Messages postés
149
Date d'inscription
lundi 7 février 2005
Dernière intervention
6 février 2009
- 6 janv. 2009 à 20:27
0
Merci
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
Commenter la réponse de krolenain
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Dernière intervention
29 décembre 2012
- 6 janv. 2009 à 20:53
0
Merci
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
Commenter la réponse de Teclis01
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Dernière intervention
27 avril 2012
- 6 janv. 2009 à 21:43
0
Merci
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 -
Commenter la réponse de kohntark
Messages postés
20
Date d'inscription
vendredi 15 décembre 2006
Dernière intervention
7 janvier 2009
- 7 janv. 2009 à 15:07
0
Merci
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'];
}
}
}
}
Commenter la réponse de Johandev35

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.