par
finipe » 20 févr. 2012, 14:57
Hem, eeeuh oui, en effet, merci
Alors du coup maintenant, il me retourne les catégories, mais sans en afficher les titres, avec les sous catégories correspondantes, mais n'affiche pas les catégories ne comportant pas de sous-catégories...
J'ai essayé avec ce code :
/*
Instruction pour déterminer la valeur de la catégorie sélectionnée
*/
$sql = "
SELECT parent.id, parent.titre, enfant.id, enfant.titre
FROM $CATEGORIES parent
LEFT OUTER JOIN $CATEGORIES enfant ON parent.id = enfant.pere
WHERE parent.pere = 0
ORDER BY parent.titre ASC, enfant.titre ASC
";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
// Catégorie parent, actuellement sélectionnée
if($row['pere'] == 0 && $CAT == $row['id']) echo "<li class='ON'>".$row['titre']."</li>";
// Catégorie parent, non sélectionnée
else if($row['pere'] == 0 && $CAT == 0) echo "<li class='OFF'><a href='index.php?cat=".$row['id']."'>".$row['titre']."</a></li>";
// Catégorie enfant, actuellement sélectionnée
else if($row['pere'] != 0 && $CAT == $row['id']) echo "<li>".$row['titre']."</li>";
// Catégorie enfant, non sélectionnée
else echo "<li><a href='index.php?cat=".$row['id']."'>".$row['titre']."</a></li>";
}
Avec ça il me retourne la chose suivante :
- Cat parent 1 (mais sans afficher le titre)
-- Cat enfant 1.1
-- Cat enfant 1.2
- Cat parent 2 (mais sans afficher le titre)
-- Cat enfant 2.1
-- Cat enfant 2.2
-- Cat enfant 2.3
Il ne retourne pas les catégories parent n'ayant pas d'enfant, et $row['id'] ou $row['titre'] me retournent des variables vides pour les catégories parent.
(quel bordel, j'aurais déjà fini depuis trois jours, avec la méthode déconseillée

)
Hem, eeeuh oui, en effet, merci :oops:
Alors du coup maintenant, il me retourne les catégories, mais sans en afficher les titres, avec les sous catégories correspondantes, mais n'affiche pas les catégories ne comportant pas de sous-catégories...
J'ai essayé avec ce code :
[php]/*
Instruction pour déterminer la valeur de la catégorie sélectionnée
*/
$sql = "
SELECT parent.id, parent.titre, enfant.id, enfant.titre
FROM $CATEGORIES parent
LEFT OUTER JOIN $CATEGORIES enfant ON parent.id = enfant.pere
WHERE parent.pere = 0
ORDER BY parent.titre ASC, enfant.titre ASC
";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
// Catégorie parent, actuellement sélectionnée
if($row['pere'] == 0 && $CAT == $row['id']) echo "<li class='ON'>".$row['titre']."</li>";
// Catégorie parent, non sélectionnée
else if($row['pere'] == 0 && $CAT == 0) echo "<li class='OFF'><a href='index.php?cat=".$row['id']."'>".$row['titre']."</a></li>";
// Catégorie enfant, actuellement sélectionnée
else if($row['pere'] != 0 && $CAT == $row['id']) echo "<li>".$row['titre']."</li>";
// Catégorie enfant, non sélectionnée
else echo "<li><a href='index.php?cat=".$row['id']."'>".$row['titre']."</a></li>";
}[/php]
Avec ça il me retourne la chose suivante :
- Cat parent 1 (mais sans afficher le titre)
-- Cat enfant 1.1
-- Cat enfant 1.2
- Cat parent 2 (mais sans afficher le titre)
-- Cat enfant 2.1
-- Cat enfant 2.2
-- Cat enfant 2.3
Il ne retourne pas les catégories parent n'ayant pas d'enfant, et $row['id'] ou $row['titre'] me retournent des variables vides pour les catégories parent.
(quel bordel, j'aurais déjà fini depuis trois jours, avec la méthode déconseillée :wink:)