PHP Sınırsız Kategorilendirme
-
Php de nasıl sınırsız kategorilendirme( alt alta) yapılabiliryor
örneğin
alt kategori için işaret koyuyorum "**"
ali ** ahmet, mehmet, zeki ** fabnnısş,asfgan,safnasj** safnş**agnafdlş,asguıoand,asfn,safmnıoa**afmjıpassaofnoğas,aoıfhnğa.... diye alt kategorilerin bir sınırı olmayacak nasıl yapılır
-
demek istediğini tam olarak anlamadım fakat şunlar işine yarayabilir,
http://www.ceviz.net/php-ile-kategorileme_a789.html
http://www.rehberim.net/forum/php-231/165536-php-ile-kategorileme.html
http://www.koodla.com/2008/08/09/php-ile-sinirsiz-alt-kategori-mantigi/
-
ne yapmak istiyorsun ?
-
Gharzvog bunu yazdı:
-----------------------------
demek istediğini tam olarak anlamadım fakat şunlar işine yarayabilir,
-----------------------------
Şunu Yapmak İstiyorum
ssss
ssss
sss
ssss
ssss
ssss
ssss
ssss
ssss
sss
....
....
....
.....
sss
sss
sss
sss
şeklinde bir şey yapmak için lazım sınırsız uzayacak
-
hocam anladım da nerden sınırsız uzayacak ??
while(1)
echo 'ss<br>';
buda sınırsız uzar
--
Fakat database den veri cekeceksin iyi güzel de, ordaki veriler sınırlı.Orda olan verileri tekrar tekrar yazdırmak mı istiyorsun sss yapıcaksın iyi güzelde nerdne yapıcan ne için yapıcaksın ?
database'e sınırsız veri mi girmek istiyorsun hiç birşey anlamadım.
-
dediğin html ile alakalı değilmi ? <ul> <li> kat1 </li> <li> kat2 </li> <li> kat3 </li> </ul> bunu yazdığın koda göre ayarlamıomusun ?
-
Oncelikle sinirsiz diye birsey yoktur. Herseyin bir siniri vardir.
Soruna gelince veritabaninda kategori diye bir tablo olusturup icine id ve kategoriID diye sutunlar koy. oldu sana sinirsiz(!) kategori.
Veritabanini yazdirmak icinse
while() dongusunu kullan.
Shephard'in dedigi gibi
<ul>
while($ROW = mysql_fetch_array($SQL))
echo '<li>' .$ROW['kategoriID']. '</li>';
</ul>
Seklinde yazdir.
-
Recursive fonksiyon konusunu araştır. Bi zamanlar aynı soruyu ben de sormuştum, buradaki gibi çözdüm. Mantığını inceleyerek aynısını php için yazarsın.
http://www.tahribat.com/Forum-Asp-Treeview-Dongu-Sorunsali-94414/3/#1012666
-
@fikret'in gönderdiği recursive fonksiyonlarını kullanabilirsin. ama yavaş çalışırlar çünkü bir sürü sql sorgusu döner. ben kendime göre bir yöntem geliştirdim. cat_id sutününda bir üst kategoriyi tutmak yerine 23,56,64 diye tutuyorum. burda 64 56'nın, 56 da 23'ün alt kategorisi konumunda. order by dediğinde float sayı olarak algılayıp istediğin sırayla dönüyor. gelen arrayı da kontrol ederek html'e yazdırabilirsin. yakın zamanda bir yazı yazmayı düşünüyorum bu konu hakkında, ama zaman olmadı daha.
-
Ulen son 2 mesaja kadar kabız oldum arkadaş :) Hiçbiriniz mi anlamadınız adamın ne sorduğunu?
İç içe sınırsız kategori oluşturmaya çalışıyor arkadaş..
Hocam şöyle bi tablon olduğunu farzet.
ID-----UST_ID-----KATEGORI
1------0------------Arabalar
2------1------------Mercedes
3------2------------CLK200
4------1------------Ferrari
5------4------------F50gibim. Yani her kategori kendisinin bir üst kategorisini (parent) bilecek.
Daha sonra bunları da ekrana bastırabilmek için rekürsif fonksiyon nasıl yazılır onu öğreneceksin :) İteratif de yazılır ( teorik olarak ) fakat uğraştırır epeyce :)
Kolay gele...