Zoque
Dirsek Teması:

kategori listeleme sorunu

 
Konuyu Paylaş Seçenekler
 
CreaNext's Avatar
Üyelik Tarihi: 19.06.2006
Mesaj: 231
08.01.2007 | 16:54 | #1

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.
  Alıntı yap
 
s5prin's Avatar
Üyelik Tarihi: 16.12.2006
Mesaj: 530
08.01.2007 | 17:53 | #2

id = x ise
Alıntı:
SELECT * FROM `tablo` WHERE id <= x
işini görmüyor mu?
__________________
Spoiler:
  Alıntı yap
 
CreaNext's Avatar
Üyelik Tarihi: 19.06.2006
Mesaj: 231
08.01.2007 | 18:36 | #3

tree halde görmem gerekiyor. sanırım anlamadın
__________________
Estetik Detayda Gizlidir.
  Alıntı yap
 
s5prin's Avatar
Üyelik Tarihi: 16.12.2006
Mesaj: 530
08.01.2007 | 19:29 | #4

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

Alıntı:
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:
  Alıntı yap
 
absconder's Avatar
Üyelik Tarihi: 09.12.2000
Mesaj: 2,078
08.01.2007 | 21:42 | #5

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
  Alıntı yap
 
mceL's Avatar
Üyelik Tarihi: 30.11.2000
Mesaj: 809
08.01.2007 | 23:08 | #6

bir not; ruby on rails ile şu şekilde yapılabiliyor kendisi.
  Alıntı yap
 
CreaNext's Avatar
Üyelik Tarihi: 19.06.2006
Mesaj: 231
08.01.2007 | 23:11 | #7

Alıntı:
absconder tarafından gönderilen mesaj: Mesajı Görüntüle
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.
  Alıntı yap
Yanıt

Etiketler

sorunu , listeleme , kategori

Seçenekler


 
Zoque'a hoşgeldiniz!
Zoque, 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. Bu amaçla saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]

Üye Girişi:

Connect with Facebook
Son Eklenen 20 Konu
BlogKüme'yi destekliyoruz
Kitap okuyor musunuz? Ne kadar peki?
Zoque'a sponsor olmak ister misiniz?

Zoque RSS Aboneliği Zoque RSS Aboneliği
En yeni konuları günün ilk ışıkları ile sabah kahvenizin yanında okumak ister misiniz?

Forum Yazılımı: vBulletin® Version 3.8.3 Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0 vbulletin

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2009
Forum Saati GMT +2. Şu anda saat: 14:44.