Menu et sous menu [Résolu]

Signaler
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012
-
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012
-
Bonsoir,

voilà, jai une base de donnée avec des entrées dont deux spécialements : categorie et sscategorie.

je dois créer un menu qui automatiquement me listera les categories puis les sscategories et qui donne quelque chose comme ca :

categorie 1
sscategorie1
sscategorie2
....
categorie 2
sscategorie1
sscategorie2
....

je m'en sors pas, du coup je viens demander de l'aide, parce que j'arrive seulement a faire fonctionner sur une seule cathégorie.

merci d'avance

bonne soirée



Annadrill

12 réponses

Messages postés
392
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
45
OK, je voulais juste savoir quelle était la démarche par rapport à ce que t'a demandé, sinon je pense que c'est parce que tu 'échappes'(j'oublie le bon terme) mal les guillemets.

Solution 1: sscathegorie='".$a['sscathegorie']."'"


Test du chi2
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012

Voilà, c'est tout bon, je mets le code au complet ici :

<?php
include'php/connex.php';
$idcom=connex('param');

$req1="SELECT * FROM content WHERE cathegorie='produits'";
$res1=@mysql_query($req1,$idcom);
if(!$res1)
{
echo "Lecture du 1 impossible";
}
else
{
while($a = mysql_fetch_array($res1))
{
echo ''.$a['sscathegorie'].'

';

$req2="SELECT * FROM content WHERE sscathegorie='".$a['sscathegorie']."'";
$res2=@mysql_query($req2,$idcom);
if(!$res2)
{
echo "Lecture du 2 impossible";
}
else
{
while($b = mysql_fetch_array($res2))
{
echo '<li>[produits-'.$b['ID'].'.html '.$b['titre'].']</li>';
}
}
}
}


?>



merci encore et bonne soirée

Annadrill
Messages postés
392
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
45
Salut,

Procède ainsi :
$sql1 = mysql_query(SELECT categorie FROM tabase);
    while($a = mysql_fetch_array($sql1))
    {
     echo $a[categorie];
$sql2 = mysql_query(SELECT categorie,sscategorie FROM tabase WHERE categorie=$a[categorie]);
        while($b = mysql_fetch_array($sql2))
         {
         echo $b[sscategorie];
         }
    }

Ca devrait le faire


Test du chi2
Messages postés
392
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
45
Dernière chose, c'est une approche donc quand tu le fera faudra bien pensée à mettre les guillemets où il le faut, etc...


Test du chi2
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012

Wouah ca c'est ce que j'appelle de l'aide efficace, merci beaucoup, ca me change de certains comm que j'ai pu recevoir par la lol
Je vais tester ca et te redis si y a un souci, mais à priori si je fais attention devrait vraiment pas y avoir de souci.

Encore un tout grand merci :D

Annadrill
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012

ne jamais crier victoire trop vite,
mais je m'en sors presque jai réajusté le code pour quil aille avec le reste ce qui donne ceci :

<?php
include'php/connex.php';
$idcom=connex('param');

$req1="SELECT sscathegorie FROM content";
$res1=@mysql_query($req1,$idcom);
if(!$res1)
{
echo "Lecture du 1 impossible";
}
else
{
while($a = mysql_fetch_array($res1))
{
echo 'sscathegorie :'.$a['sscathegorie'].'
';

$req2="SELECT * FROM content WHERE sscathegorie='$a['sscathegorie']'";
$res2=@mysql_query($req2,$idcom);
if(!$res2)
{
echo "Lecture du 2 impossible";
}
else
{
while($b = mysql_fetch_array($res2))
{
echo 'titre :'.$b['titre'].'
';
}
}
}
}


?>

jai juste un souci pour le $req2, si je mets à la place de sscathegorie='$a['sscathegorie']' , sscathegorie='lasouscathegorie'

cela fonctionne,

mais si je le laisse comme cela, il ne m'affiche plus rien du tout, page blanche.


Annadrill
Messages postés
392
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
45
Ca ne correspond pas à ce que t'a demandé !!
categorie 1
sscategorie1
sscategorie2
....
categorie 2
sscategorie1
sscategorie2
Maintenant d'après ce que je vois tu essaie de boucler d'abord sur les sous-catégories d'afficher 'des titres?'...il te faut ré-expliquer ta démarche !




Test du chi2
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012

disons que si je boucle sur la cathégorie puis sous la sous cathégorie contenue dans la cathégorie
ou que je boucle sur la sous cathégorie puis sur les titre dans la sous cathégorie, la démarche est la meme,

mais j'avoue m'être trompé sur ma première demande, du fait que j'ai cru que je devais boucler sur la cathégorie puis la sscathégorie au début,
et qu'en notant et ajustant le code, je me suis rendu compte de mon erreur, navré.

mais la démarche reste la même, boucler sur un groupe puis sur le sous groupe dans ce groupe et ainsi de suite.



Annadrill
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012

Voilà, merci :D

alors je m'en sors avec ca :

<?php
include'php/connex.php';
$idcom=connex('param');

$req1="SELECT sscathegorie FROM content WHERE cathegorie='produits'";
$res1=@mysql_query($req1,$idcom);
if(!$res1)
{
echo "Lecture du 1 impossible";
}
else
{
while($a = mysql_fetch_array($res1))
{
echo ''.$a['sscathegorie'].'

';

$req2="SELECT * FROM content WHERE sscathegorie='".$a['sscathegorie']."'";
$res2=@mysql_query($req2,$idcom);
if(!$res2)
{
echo "Lecture du 2 impossible";
}
else
{
while($b = mysql_fetch_array($res2))
{
echo '<li>[produits-'.$b['ID'].'.html '.$b['titre'].']</li>';
}
}
}
}


?>


parcontre ca marche super si y a qu'une seule sscathegorie, mais si y en a plus, ca me sort aussi les autres cathegories ( à noter que jai mis dans la premiere req WHERE cathegorie=produits' alors je me demande pourquoi ca marche plus dès qu'il y a plus d'une sous cathégorie


Annadrill
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012

Bon jai changé le sscathegorie en * dans la premiere req et ca fonctionne

il me reste un souci mais je devrais finir par comprendre ce qui se passe

Encore merci pour tout


Annadrill
Messages postés
392
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
45
Ravi d'entendre que c'est bon !

Sinon pour le premier req c'est parce qu'il fallait faire :
SELECT sscathegorie,cathegorie FROM...
Donc pas besoin de toute la table juste ce dont on a besoin !



Test du chi2
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012

Ah oui c'est vrais, je commence a fatigué je pense xD, merci bien en tout les cas

Annadrill