Şimdi Ara

Php de Kategorileme ve Kategoriye Tıklayınca bir alt kategoriyi gösterme.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
3.798
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
1 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Veri tabanına bağlandığın dosyaya bu kodu ekle
     
    $seourl ="1";



    Tablo Yapınız

    Örneğin 4 Ana kategorimiz olsun
     
    Anasayfa
    İçerikler
    Programlar
    Makaleler


    Ve Ana Kategiler bir alt kategoriye sahip olsun

     
    Anasayfa
    - Hakkımızda

    İçerikler
    - Veriler
    - Dökümanlar

    Programlar
    - Anti Virüs
    - Masaüstü
    - Playerler

    Makaleler
    - Haberler
    - Duyurular
    - Kadromuz
    - Bizden Haberler

    Ve alt kategoriler de bir alt kategorisine sahip olsun

     
    Anasayfa
    - Hakkımızda
    - Vizyonumuz
    - Misyonumuz
    - Misyon Hakkında
    - Misyon tarihçesi
    - Tarihçe Nedir
    İçerikler
    - Veriler
    - Paftalar
    - Dökümanlar

    Programlar
    - Anti Virüs
    - Avira Antivirüs
    -Avast Antivirüs
    - Masaüstü
    - Playerler
    - Gom player

    Makaleler
    - Haberler
    - Ekonomi
    -Manşet
    - Duyurular
    - Bizden
    - Dünyadan
    - Kadromuz
    - Elemanlar
    - Patronlar
    - Yöneticiler



    Şeklinde Devam eden Kategoriler Olduğunu Varsayalım


     
    Anasayfa id=0
    - Hakkımızda id= 1
    - Vizyonumuz id=2
    - Misyonumuz id=2
    - Misyon Hakkında id=3
    - Misyon tarihçesi id=3
    - Tarihçe Nedir id=4



    Bu şekilde Kategorilerimizi Oluşturmaya Başlıyoruz.




    Tablomuzu Oluşturalım Tablomuzun Adı: kategori


     
    id anakategorimi anakategori altkategori isim
    1 1 1 0 Anasayfa
    2 0 1 0 Hakkımızda
    3 0 1 2 Viyonumuz
    4 0 1 2 Misyonumuz
    5 0 1 3 Misyon Hakkında
    6 0 1 3 Misyon Tarihçesi
    7 0 1 4 Tarihçe Nedir
    8 1 2 0 İçerikler
    9 0 2 0 Veriler
    10 0 2 5 Paftalar
    11 0 2 0 Dökümanlar
    12 1 3 0 Programlar
    13 0 3 0 Antivirüs
    14 0 3 6 Avira Antivirüs
    15 0 3 6 Avast Antivirüs
    16 0 3 0 Masa ÜStü
    17 0 3 0 Playerler
    18 0 3 7 Gom Player
    19 1 4 0 Makaleler
    20 0 4 0 Haberler
    21 0 4 8 Ekonomi
    22 0 4 8 Manşet
    23 0 4 0 Duyurular
    24 0 4 9 Bizden
    25 0 4 9 Dünyadan
    26 1 4 0 Kadromuz
    27 1 4 10 Elemanlar
    28 1 4 10 Patronlar
    29 1 4 0 Yöneticiler




    Buraya kadar Olan kısımda Kategor mantığını Anladık ve Tablomuzu Oluşturduk
    Şimdi ise Bu verileri Sıralı şekilde Menü şeklinde Gösterelim


    Önce Ana kategorimizi Çekelim Her Ana kategori için idsini değişkene atayarak çekiyoruz

     
    <?
    $sql = mysql_query("SELECT * FROM kategori WHERE anakategorimi = '1' and anakategori = '1'");
    while($line = mysql_fetch_assoc($sql)){
    if ($seourl == "1"){
    $seoName = turkceyap($line['isim']);
    $acc = str_replace(" ","-",$line['aciklama']);
    $url = 'kategori-'.$line['id'].'_'.$seoName.'.html';
    } else $kategorilink = "index.php?modul=urun_incele&id=".$line['id'];
    ?>

    <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=74279132&url=<?php echo $url; ?>" title="" data-href="<?php echo $url; ?>" title=""><?=$line['isim']?></a>
    <!--Ana Kategorimizin idsi 1 olanı yani Anasayfa Oalnı çektik anakategori değişkenine 2 yazarsak İçerikler Kategorisini çekmiş Oluruz-->

    <? }?>


    Alt Kategorimizi Çekelim

     
    <br />
    <?
    $sql = mysql_query("SELECT * FROM kategori WHERE altkategori = '0' and anakategori = '1' and anakategorimi = '0'");
    while($line = mysql_fetch_assoc($sql)){
    if ($seourl == "1"){
    $seoName = turkceyap($line['isim']);
    $acc = str_replace(" ","-",$line['aciklama']);
    $url = 'kategori-'.$line['id'].'_'.$seoName.'.html';
    } else $kategorilink = "index.php?modul=urun_incele&id=".$line['id'];
    ?>

    <!--Burada Anakategori =1 olan Yani Anasayfa ismindeki kategorinin Hakkımızda Kısmını Çekiyoruz.-->

    <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=74279132&url=<?php echo $url; ?>" title="" data-href="<?php echo $url; ?>" title=""><?=$line['isim']?></a>

    <? }?>
    <br />


    Diyelimki Alt kategorilerden birtanesine girmek istedik. Alt Kategoriye girdiğimiz zaman ana kategoriler yerine seçtiğimiz alt kategoinin kategorileri çıksın bunuiçin


    k1 k2 k3 k4 değişkenlerini get ile gonderme yapacaz.
    Bunu yapmak için .htacces dosyamıza


     
    Options +FollowSymLinks

    RewriteEngine on

    rewritecond %{http_host} ^siteadi.com [nc]
    rewriterule ^(.*)$http://www.siteadi.com/$1 [r=301,nc]

    RewriteRule ^kategori-(.*)_(.*).html index.php?k=2&k1=2&kid=$1&k2=$1 [L,NC]



    Değişkenini Atamamız gerekiyor. Hem kategorilerimizin url kısımlarını da buradan ayarlıyacağız.
    Bu kodu .htacces dosyanıza import ettiyseniz, Şimdi de get komutu ile istediğimiz sonuca ulaşalım



    Bu değişkenimizi Çektiğimiz ana kategori ve alt kategoriler kodunu içine alacak şekilde koyalım





    Şayet k1 k2 k3 ve k4 get ile gonderilmezse Ana kategori ve bir alt kategorisini goster








     

    <? if($_GET['k1'] == "" and $_GET['k2'] == "" and $_GET['k3'] == "" and $_GET['k4'] == ""){?>




    <!--Ana Kategori-->

    <?
    $sql = mysql_query("SELECT * FROM kategori WHERE anakategorimi = '1' and anakategori = '1'");
    while($line = mysql_fetch_assoc($sql)){
    if ($seourl == "1"){
    $seoName = turkceyap($line['isim']);
    $acc = str_replace(" ","-",$line['aciklama']);
    $url = 'kategori-'.$line['id'].'_'.$seoName.'.html';
    } else $kategorilink = "index.php?modul=urun_incele&id=".$line['id'];
    ?>

    <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=74279132&url=<?php echo $url; ?>" title="" data-href="<?php echo $url; ?>" title=""><?=$line['isim']?></a>
    <!--Ana Kategorimizin idsi 1 olanı yani Anasayfa Oalnı çektik anakategori değişkenine 2 yazarsak İçerikler Kategorisini çekmiş Oluruz-->

    <? }?>


    <!--Alt Kategori-->


    <br />
    <?
    $sql = mysql_query("SELECT * FROM kategori WHERE altkategori = '0' and anakategori = '1' and anakategorimi = '0'");
    while($line = mysql_fetch_assoc($sql)){
    if ($seourl == "1"){
    $seoName = turkceyap($line['isim']);
    $acc = str_replace(" ","-",$line['aciklama']);
    $url = 'kategori-'.$line['id'].'_'.$seoName.'.html';
    } else $kategorilink = "index.php?modul=urun_incele&id=".$line['id'];
    ?>

    <!--Burada Anakategori =1 olan Yani Anasayfa ismindeki kategorinin Hakkımızda Kısmını Çekiyoruz.-->

    <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=74279132&url=<?php echo $url; ?>" title="" data-href="<?php echo $url; ?>" title=""><?=$line['isim']?></a>

    <? }?>
    <br />



    Şayet k1 k2 k3 ve k4 get ile Gönderilirse Seçilen Kategorinin Alt Kategorisini Göster

    <? } if($_GET['k1'] != "" and $_GET['k2'] != "" and $_GET['k3'] == "" and $_GET['k4'] == ""){?>

    <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=74279132&url=index.php" data-href="index.php">Ana Kategorilere geri dön</a>


    <!--Seçilen Kategorinin Adını Gösteriyouz-->

    <p>
    <?=mysql_result(mysql_query("SELECT * FROM kategori WHERE id = '".$_GET['kid']."'"),0,3)?>
    Kategorisindesiniz
    </p>



    <!--Seçmiş Olduğumuz Alt kategorinin Kategorilerini Listeliyoruz-->
    <?
    $sql = mysql_query("SELECT * FROM kategori WHERE ust_id = '".$_GET['k2']."'");
    while($line = mysql_fetch_assoc($sql)){
    ?>



    <!-- Ana kategori > Alat Kategori > Bir Alt Kategori Şeklinde kategorilerimizi Gösterdik. Bundan Sonra İse Her tıkladıgımız kategoriyi listele.php oluşturarak içerikleri gosterecez.-->

    <a href="listele.php?&k=3&kid=<?=$line['id']?>&k1=<?=$line['anakategori']?>&k2=<?=$_GET['k2']?>&k3=<?=$line['id']?>">
    <?=$line['isim']?>

    <? } ?>



    <!--Şayet Bir alt kategori daha seçersek-->

    <? } if($_GET['k1'] != "" and $_GET['k2'] != "" and $_GET['k3'] != ""){?>



    Bir alt Kategori daha

    <? switch($_GET['k1']){


    }?> <? echo ''?>



    İlk Alt Kategori Adı

    <?=mysql_result(mysql_query("SELECT * FROM kategori WHERE id = '".$_GET['k2']."'"),0,3)?>


    Bir sonrakı Kategori

    <? echo '<a href="listele.php?&k=3&kid='.$_GET['k3'].'&k1='.$_GET['k1'].'&k2='.$_GET['k2'].'&k3='.$_GET['k3'].'&k4='.$_GET['k4'].'">'?>


    <?=mysql_result(mysql_query("SELECT * FROM kategori WHERE id = '".$_GET['k3']."'"),0,3)?>
    </a>



    <!--Bir Lat Kategoriyi şimdi Listeliyoru-->

    <?
    $sql = mysql_query("SELECT * FROM kategori WHERE ust_id = '".$_GET['k3']."'");
    while($line = mysql_fetch_assoc($sql)){
    ?>


    <a href="listele.php?&k=4&kid=<?=$line['id']?>&k1=<?=$_GET['k1']?>&k2=<?=$_GET['k2']?>&k3=<?=$_GET['k3']?>&k4=<?=$line['id']?>">

    <?=$line['isim']?> </a>


    <? } ?>



    <? }?>




    Şeklinde de kategorileme işlemimizi bitiriyoruz.



    Listele.php sayfanız içinde şu şekilde sql sorguzu oluşturabilirsiniz


     
    <?

    $kategoriid = explode('-',$_GET[k2]);

    if($_GET['k4'] == ""){
    $sqlur = mysql_query("SELECT * FROM urunler WHERE kategori1 = '".$_GET['k1']."' and kategori2 = '".$kategoriid[0]."' and kategori3 = '".$_GET['k3']."' order by $siralama");
    } else {
    $sqlur = mysql_query("SELECT * FROM urunler WHERE kategori1 = '".$_GET['k1']."' and kategori2 = '".$kategoriid[0]."' and kategori3 = '".$_GET['k3']."' and kategori4 = '".$_GET['k4']."' order by $siralama"); }



    while($cek = mysql_fetch_assoc($sqlur)){

    $ilanlink = "sayfaniz.php?&id=".$cek['id'];
    ?>








    <? } // while sonu?>








  • Hocam aradığım şey bu ama çalıştıramadım çalışır haliyle link verebilirmisin acaba ? bende ana kategoriye tıklanınca post edilen sayfada sadece o kategoriye ait olan alt kategoriler gelsin istiyorum diğerleri sabit kalsın yardım edersen sevinirim
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.