+ Yanıtla
Toplam 7 sonuçtan 1 ile 7 arası olanlar

Konu Başlığı: kategori listeleme sorunu

  1. #1

    kategori listeleme sorunu

    tablo yapısı

    id-------------- ad-------------parent_id
    1 -------------bilgisayar------- 0
    2--------------monitör-----------1
    3-------------15 inch------------2
    4--------------lcd ----------------3
    5--------------kalitesiz --------- 4


    id ---> parent_id birbirleriyle ilişkili
    şu şekil bir tablo yapım var

    5 numaralı id seçilince

    bilgisayar >> monitör >> 15 inch >> lcd >> kaltesiz

    şeklinde

    4 numaralı id yi seçince


    bilgisayar >> monitör >> 15 inch >> lcd



    şeklinde bir çıktı almak istiyorum.

    fakat ne yaptıysam olmadı. ASP ve MySQL ile çalışıyorum. yardımlarınızı bekliyorum...
    Estetik Detayda Gizlidir.

  2. #2

    Re: kategori listeleme sorunu

    id = x ise
    SELECT * FROM `tablo` WHERE id <= x
    işini görmüyor mu?
    Spoiler:
    imzaya sponsor?

  3. #3

    Re: kategori listeleme sorunu

    tree halde görmem gerekiyor. sanırım anlamadın
    Estetik Detayda Gizlidir.

  4. #4

    Re: kategori listeleme sorunu

    Senin döndürmek istediğin MySQL sonucu bütün bu adların birleşimi ve tek satır mı? Eğer öyleyse;

    SELECT CONCAT( (

    SELECT ad
    FROM tablo
    WHERE id =1
    ), ' >> ', (

    SELECT ad
    FROM tablo
    WHERE id =2
    ), ' >> ', (

    SELECT ad
    FROM tablo
    WHERE id =3
    ), ' >> ', (

    SELECT ad
    FROM tablo
    WHERE id =4
    ) ) AS tree
    LIMIT 1
    Ama ben hala basitçe id<=x ile satırları alıp bunları küçük bir döngüyle birleştirmeni tavsiye ediyorum. Daha kestirmesi yok.
    Spoiler:
    imzaya sponsor?

  5. #5

    Re: kategori listeleme sorunu

    bu şekildeki bir recursive fonksiyon işinizi görecektir
    Kod:
    <%
    set conn = server.createobject("adodb.connection")
    conn.open connStr
    
    function goTop(s)
         SQL = "select ad, parent_id from tablo where id="& s
         set rs = server.createobject("adodb.recordset")
         rs.open SQL, conn, 1
         str = rs("ad")
         if rs("parent_id") <> 0 then str = goTop(rs("parent_id")) & " >> "& str
         set rs = nothing
         goTop = str
    end function
    
    secilenID = 5
    response.write goTop(secilenID)
    
    set conn = nothing
    %>
    "oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney
    http://www.sipidik.com

  6. #6

    Re: kategori listeleme sorunu

    bir not; ruby on rails ile şu şekilde yapılabiliyor kendisi.

  7. #7

    Re: kategori listeleme sorunu

    Alıntı absconder tarafından gönderilen mesaj: Mesajı Göster
    bu şekildeki bir recursive fonksiyon işinizi görecektir
    Kod:
    <%
    set conn = server.createobject("adodb.connection")
    conn.open connStr
    
    function goTop(s)
         SQL = "select ad, parent_id from tablo where id="& s
         set rs = server.createobject("adodb.recordset")
         rs.open SQL, conn, 1
         str = rs("ad")
         if rs("parent_id") <> 0 then str = goTop(rs("parent_id")) & " >> "& str
         set rs = nothing
         goTop = str
    end function
    
    secilenID = 5
    response.write goTop(secilenID)
    
    set conn = nothing
    %>
    ben çok uzun yoldan class larla hallettim ama bu daha mantıklı geldi. çok saolasın...
    Estetik Detayda Gizlidir.

+ Yanıtla

Bu konu başlığı için etiketler

Mesaj Seçenekleri

  • Yeni başlık açamazsınız
  • Cevap yazabilirsiniz
  • Dosya ekleyemezsiniz
  • Mesajlarınızı değiştiremezsiniz