php kategorileme Mantığı [YARDIM].

merhaba Arkadaşlar , 

php kategorileme sisitemi yapamya çalışıyorum  yönetim panelini halletim fakat verileri sayfaya çekerken problem yaşıyorum..

ezsql sınıfı 

<?php $menu = $db -> get_results("SELECT * FROM kategoriler ORDER BY ust_parrent=0,durum=1,sira asc");  ?>
<?php foreach ($menu as $menuw){ ?>
<l+i>
                                            <a href="sayfa.php?id=<?php echo $menuw->sayfa; ?>"><?php echo $menuw->kategori_adi; ?></a>
                                        </l+i>
<?php }?>

Görmüş olduğunuz gibi kodum yukarıda 

Kategori Tablom =

id - kategori_adi - ust_parrent -sira -durum -seo - sayfa

Veriyi Çekerken Sirasini ASC Olarak çekmesi gerekiyor üst parrenti 0 olanlar  birde durumu 1 olanları çekmesi gerekiyor 3 tane koşul fakat olmadı.. ve alt kategori mantını anlamadım bununla ilgili bilgilendirirseniz sevinirim

2014-01-17 19:15:06 Edit:2014-01-17 19:17:06

Php

safiyesafiye

konu  no suna katagori id sini yazdır  cekerkende konu nosuna göre cek

örnek  katagori id 5

konu no 5

katagorileri cektiginde  konu nosu 5 olanları

listelersin   kolay  gelsin

2014-01-17 19:56:21

Php

Teşekkür ederim fakat sanırım anlatmak istediğimi anlamaıdnız 

Alt kategori ve üst kategori aynı tabloda

id - kategori_adi - ust_parrent -sira -durum -seo - sayfa

ust_parrent = 0 olunca normal kategori 

ust_parrent = altına girceği kateogrinin id alınca alt kategori oluyor

ust_parrent  0 olanları çekmesse  alt ketegori normal kategori olarak görünüyor

------2

sira = sira elle giriliyor yönetim panelinde 1,2,3,4,5,6 diye bunu ASC olarak çekmessem ANASAYFA HAKKIMDA REFERANSLAR VS karışık olarak geliyor

3--- durum = 1 olunca menu görünecek 0 olunca görünmeyecek  gözükmesini istemediğim menülerde görünecek 

4 - Sayfa no ile nasıl bir bağlantı kura bilirim anlmadım sadece tıklantığında sayfa.php?sayfa_id=    sayfanın id alacak  

2014-01-17 20:18:13

Php

safiyesafiye

örnek

konular.php


$bilgi= mysql_query("SELECT * FROM katagori WHERE id'$id'");
while($karagori_cek= mysql_fetch_array($bilgi))
{
$konuno=$karagori_cek[id];
$k_bilgi= mysql_query("SELECT * FROM konular ORDER BY konuno'$konuno' ASC");
while($konu_cek= mysql_fetch_array($k_bilgi))
{
echo $konu_cek[konubaslik];
} } 

2014-01-17 20:46:47

Php

iç içe iki döngü ile MYSQL çağırmak hızı düşürür. onun yerine SQL JOIN kullanınız.

Her programcı birgün Php yi tadacaktır
2014-01-17 21:43:29

Php

$tum_kategoriler =array();

$MenuSorgu = $db -> get_results("SELECT * FROM kategoriler"); 

foreach($MenuSorgu as $Katman){

$tum_kategoriler[$Katman->id]['id'] = $Katman->id;

$tum_kategoriler[$Katman->id]['kategori_adi'] = $Katman->kategori_adi;

$tum_kategoriler[$Katman->id]['ust_parrent'] = $Katman->ust_parrent;

}

  function KategoriBul($kategoriler){

$dizi=array();

foreach($kategoriler as $kategori){

if($kategori['ust_parrent'] == 0)$dizi[] =$kategori;

}

return $dizi;

}

function altKategorileriBul($ustKat,$kategoriler,$tekrar = 2)

{

// Bir dizi oluşturuyoruz.

$dizi = array();

// Tüm kategorileri döngüye sokuyoruz.

foreach($kategoriler as $kategori)

{

// Belirtilen kategorilerin alt kategorilerini alıyoruz ve diziye ekliyoruz.

if($kategori['ust_parrent'] == $ustKat)

{

$dizi[] = $kategori;

}

}

if(count($dizi) > 0)

{

foreach($dizi as $kat)

{

?>

                                            <?php

echo ''.str_repeat('&nbsp;&nbsp;&nbsp;',$tekrar).' '.$kat['kategori_adi'].'';

altKategorileriBul($kat['id'],$kategoriler,$tekrar+3);

}

}

}

$anaKategoriler = KategoriBul($tum_kategoriler);

örnek bir kod buldum biraz oynadım işimi gördü fakat durumu 0 olan veriyi çekmeme ve siralamayi ekliyemedim

2014-01-17 22:06:02

Php

bu tablonun biri sanırım:
id - kategori_adi - ust_parrent -sira -durum -seo - sayfa

kategori tablosunu da yazarsan SQL kodunu vereyim.

Her programcı birgün Php yi tadacaktır
2014-01-17 23:35:20

Php

alt kategorilerde Aynı Tabloda Alt kategoriyi Altına girceği Kategorinin id alıyor buda ust_parrent  kayıt oluyor 

Örnek

id - kategori_adi - ust_parrent -sira -durum -seo - sayfa

1    HAKKIMDA                0            1                 1        hakkimdasayfasi   

2    Biyografi                   1           1                  1        biyografisayfasi

fakat ikinci bir tablo olşturmam gerekiyorsa oluştura bilirim

Yeni farkettim 3 level Kategori Açamıyorum 

  111111

         11111111111

Olmuyor  Vaktiniz varsa işimi görecek bir php kodu paylaşabilirseniz sevinirim

2014-01-18 17:48:20 Edit:2014-01-18 18:06:12

Php

kategori isimli bir tablo oluşturursan daha pratik olur. Özellikle ağaç yapısında kategori yapacaksan en pratik yolu budur.

makale tablosunda da INT bir alan açıp içine kategori_no olarak ekleme yaparsın.

--kategori--

ID - ismi - orderi - parrent

Her programcı birgün Php yi tadacaktır
2014-01-20 13:25:53

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro