• 02-12-2015, 03:29:23
    #1
    Merhaba,
    kategorileri olan bir tablo hazırladım içerikleri sıkıntısız bir şekil de ekliyorum yalnız eklediğim kategorileri listelerken kategorinin karşısında üst kategorisinin de adı yazsın istiyorum

    Örnek:
    Kategori adı | Kategorinin üst kategorisinin adı

    yalnız kategori id ve kategori adınını sıkıntısız çekmeme rağmen üst kategorisinin adını çekemedim.

    tablo yapım

    kat_id  ,  ust_id  ,  kat_adi

    $sql = mysql_query("SELECT * FROM sayfakategori WHERE ust_id='$kat_id'");
    while($sonuc = mysql_fetch_array($sql))
    {
    $kat_adi = $sonuc['kat_adi'];
    $id = $sonuc['kat_id'];
  • 02-12-2015, 11:48:09
    #2
    Merhaba,
    Konuları çekerken kullandığınız sorgunuza join ekleyerek daha rahat yanıt alabilirsiniz.
    select * from konular right join sayfakategori on konular.ust_id = sayfakategori.id gibi.

    Kolaylıklar.
  • 02-12-2015, 13:31:07
    #3
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    Konuları çekerken kullandığınız sorgunuza join ekleyerek daha rahat yanıt alabilirsiniz.
    select * from konular right join sayfakategori on konular.ust_id = sayfakategori.id gibi.

    Kolaylıklar.
    bluexpres öncelikle yardımcı olmaya çalıştığın için teşekkürler yalnız kafama takılan bir soru var bunu cevaplayabilirsen hem öğrenmiş olurum hemde kendime ona göre bir yol çizerim.

    Belirtmiş olduğun örnekte iki adet tablo var "konular" ve "sayfakategori" bu iki tabloyu yanlış anlamadıysam right join ile bağlamışsın yalnız benim yapmak istediğim işlemi tek tablo üzerinden yapmak istiyorum sadece "sayfakategori" tablosunda bulunan 'kat_id' , 'ust_id' ve 'kat_adi' tablo değerleri ile sayfaya hem kategori adını hemde üst kategorisinin adını yazdırmak istiyorum aşağıda örnek resim var bakarsan beni daha rahat anlayacağını tahmin ediyorum.



    "Bağlı Sayfa" yazan sütunda üst kategori id si yerine üst kategorinin görünmesini istiyorum bu sayede aynı isime sahip kategorilerde hangi kategorinin doğru kategori olduğunu anlayıp gerekli düzeltmeleri doğru kategoride yapmak istiyorum.

    Not: Bilgim yeterli olmadığından kusura bakmayın sizi de uğraştırıyorum.
  • 02-12-2015, 14:19:29
    #4
    Rica ederim sorununuz çözülsün yeter ki.
    Ben 2 farklı tablo var sandım fakat anladığım kadarıyla aynı tabloda üst kategori stunu da var. Şu durumda aynı tabloyu kendisine bağlayabilirsiniz. Bir örneği şurada hazırladım ; http://sqlfiddle.com/#!9/1b5ad/5

    Yukarıdaki yanıtımda ikinci tablo yerine aynı tabloyu kendine bağlamamız yeterli olacak.
    select a.kat_id,a.ust_id,a.kat_adi,s.kat_adi as ustkatadi from sayfakategori as s right join sayfakategori a on s.kat_id=a.ust_id
    Umarım anlatabilmiştimdir ve sorununuz çözülür.
    Kolaylıklar.
  • 02-12-2015, 15:05:00
    #5
    Bluexpres çok teşekkürler verdiğin örnek sayesinde
    $sql = mysql_query("select a.resim,a.sira,a.kat_id,a.ust_id,a.kat_adi,s.kat_adi as ustkatadi from sayfakategori as s right join sayfakategori a on s.kat_id=a.ust_id WHERE a.ust_id='$kat_id'")or die(mysql_error());
    şeklinde düzenleyerek yapmak istediğimi yaptım.
  • 04-12-2015, 11:23:36
    #6
    aynı tablo "select tablo1.* from tablo as tablo1 inner join tablo as tablo2" farklı farklı tablo gibi sorgulara dahil edilebilinir.
    Bilgi amaçlı paylaştım