Bu yapıyı düzenlemek için en iyi yolu?

2 Cevap php

Ben kategoriler, alt kategoriler ve alt-alt kategoriler ağaç yapısına bölmek istiyorum gıdalar, bir veritabanı var. Örneğin,

fruits -> apples -> fuji, or fruits -> apples -> cortland

Ben onun hemen çocuklar göstermek için her ebeveyn sayfayı istiyorum (meyve sayfa elma, portakal ve diğer tüm meyve gösterir; elma sayfa fuji, Cortland ve diğer tüm elma gösterir).

Ayrıca, ben tüm üst düğümleri bilmek her düğüm istiyorum. (Fuji üst olan ana meyve elma olduğunu bilir)

MySQL kullanarak bu ağaç gibi bir ilişkiyi saklamak için en iyi yolu nedir?

2 Cevap

Ben okumanızı öneririz Managing Hierarchical Data in MySQL.

Gibi bir şey deneyebilirsiniz:

Table category:

id INT AUTO INCREMENT PRIMARY KEY
parent_id INT
name VARCHAR(40)

Sonra yapabileceğiniz meyve tüm alt kategorileri görüntülemek istediğinizde:

SELECT C.* FROM category C WHERE C.parent_id = {$currentCategory}