Requête SQL pour sélectionner les produits de toutes les catégories de l'Un des Parents

J'ai une Table Produit avec cette structure

 id, title, slug, details, category(FK category.ID)

Et un Tableau des catégories:
id, nom, slug, parent

Catégories ont seulement 1 niveau
Si il n'y a pas de parent alors champ parent est 0 sinon l'id de la catégorie parent enregistré

Supposons que j'ai catégories de structure comme ceci:

FRUITS
|---- APPLE
|---- MANGO
|---- BANANA

- Je utiliser un slug de la Catégorie à la requête des produits d'une catégorie

catégorie.le php?cat=apple
de la catégorie.le php?cat=mangue

1er requête:

select id,name from category WHERE slug='$catslug'

Après l'obtention de l'ID de la catégorie, puis utiliser la requête pour obtenir les résultats de l'IDENTIFIANT de table produits

select * from products where category=$categoryid

Quelle requête est nécessaire si je veux extraire tous les produits affichés dans les FRUITS?

category.php?cat=fruits

Je veux obtenir tous les produits affichés dans la pomme, la mangue, la banane (tous les enfants de fruits)

Seulement l'Id d'enfant sont enregistrés dans la table produits comment puis-je lien parent de la catégorie apple avec ces?

  • Combien de niveaux de catégories avez-vous? Jamais plus de 2?
  • La colonne parent magasin le parent de l'id ou le nom? La base de données utilisez-vous?
  • ont seulement 1 niveau parent-enfant S'catégorie parent alors l'ID est enregistré dans le champ parent de la catégorie table de autre 0 qui est par défaut
  • oui id du parent chat enregistré dans le champ parent si aucun parent n'0 DB type InnoDB
InformationsquelleAutor Vehlad | 2012-03-27