PHP karmaşık bir kategori yapısı altında ürünler alınırken Trouble

0 Cevap php

Sizi bu konuda bana yardımcı olabilir umuyoruz. Yani, bir ürün masa ve kategoriler tablo var. Kategoriler tablo için yapı feryat listelenir. Derin üç veya dört seviyeleri ile yaklaşık 20 kategoriler var olacaktır. Alabilmek için kategori ağacı bir özyinelemeli bir fonksiyon yazdım ve gayet iyi çalışıyor.

Benim yeni bir görev verilen bir kategori için ürünleri görüntülemek için. Örnek olarak, ben feryat gösterilen verileri kullanır. Ben category_id = 7 olan bir ürün eklerseniz Yani, ben kullanıcı kategori 4, veya kategori 1 seçecektir kullanıcı da kategoriyi 7 seçer, ama ne zaman bu ürün sergilemek zorundayız. Ayrıca, bir kullanıcı id = 1 ile kategori seçerse bu kategori = 1 için ürünler, 4, 5, 6, görüntülemek için vardır.

Benim kategoriler tablo bu gibi görünüyor:

CREATE TABLE `categories` (
 `category_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
 `category_name` varchar(256) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
 `category_slug` varchar(256) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
 `category_parent` smallint(5) unsigned NOT NULL DEFAULT '0',
 `category_description_ro` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
 `category_description_en` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
 PRIMARY KEY (`category_id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1

Körük tablodaki verilerin bir örneği aşağıda verilmektedir:

category id | category name | category_parent

1            Categoria 1            0        
2            Categoria 2            0        
3            Categoria 3            0        
4            Categoria 1.1          1        
5            Categoria 1.2          1        
6            Categoria 1.3          1        
7            Categoria 1.1.2        4 

0 Cevap