Forum

Asp açılır men...
 
Bildirimler
Hepsini Temizle

Asp açılır menü sorunu

2 Yazılar
2 Üyeler
0 Reactions
415 Görüntüleme
(@yusufkarabicak)
Gönderiler: 1
New Member
Konu başlatıcı
 

Merhaba arkadaşlar  sitede bu şekilde oluşuyor menüler.alt menülerin ve menülerin hepsi her ürün sayfasında çıksın istiyorum sabit kalsın.yani yukarıda resimdeki menüler var birde alt menüleri. resimdeki kategorilerden birine tıklayınca içindeki menülere giriyor.genel kategorileri göstermiyor.ben alt kategorilere girilsede tüm ana kategori başlıkları ve alt başlıklarını her sayfada görmek istiyorum.normalde kodlarım aşağıdaki gibi. bunu nasıl düzeltirsem alt menülerle beraber sabit kalır.yardımınıza muhtacım arkadaşlar

kodlarım aşağıdakiler 

 <% set rs_kat = Server.CreateObject("adodb.recordset")

if koruma(request("kat")) <> "" then
set rssor = server.CreateObject("adodb.recordset")
sql_kat2 = "select * from kategori where ustkategori= "&koruma(request("kat"))&" order by kategori asc"
rssor.open sql_kat2, urunbag, 1, 3
if rssor.eof then
set rs_1 = server.CreateObject("adodb.recordset")
sql_rs = "select * from kategori where id="&koruma(request("kat"))
rs_1.open sql_rs, urunbag, 1, 3
katim = rs_1("ustkategori")
rs_1.close
sql_kat = "select * from kategori where ustkategori=" & katim & " order by kategori asc"
else
sql_kat = "select * from kategori where ustkategori= " & koruma(request("kat")) & " order by kategori asc"
end if
rssor.close
else
sql_kat = "select * from kategori where ustkategori=0 order by kategori asc"
end if
rs_kat.open sql_kat, urunbag,1,3
do while not rs_kat.eof %>
<a href="default.asp?sayfa=urunler&kat=<%= rs_kat("id") %>"><%= rs_kat("kategori") %></a>
<% rs_kat.movenext:loop

rs_kat.close %> 

 
Gönderildi : 25/05/2012 17:54

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

Sayın Yusuf Bey;

 Yanış anlamadıysam her sayfada aşağıdaki gibi olacak değilmi?

MENÜ
   ÜST MENÜ
            ALT MENÜ

üstmenü 1
--alt menü 1
--alt menü 2
üst menü 2
-alt menü 3
--alt menü 4

 ilk önce üst kategorileri çağırmalısın ve onların ust_kat_id diye bir kolonu olmalı üst kategorilere hep 0 değeri vermelisin.

set rs = server.CreateObject("adodb.recordset")

sql_kat = "select * from kategori where ust_kadt_id = 0 order by kategori asc"

rs.open sql_kat, urunbag, 1, 3

if not rs.eof then

  daha sonra üst kategorilerin ilkini yazdır.

 do while not rs.eof

<a href="default.asp?sayfa=urunler&kat=<%= rs("id") %>"><%= rs("kategori") %></a>

rs.movenext:loop

bunu yazdırdıktan sonra hemen alt kategorilerini yazdır. Üst kategori id sini de rs("id") şeklinde alıyoruz.

set rsalt = server.CreateObject("adodb.recordset")

sql_akat = "select * from kategori where ust_kadt_id = '" & rs("id") & "'order by kategori asc"

rsalt.open sql_akat, urunbag, 1, 3

if not rsalt.eof then

 do while not rsalt.eof

<a href="default.asp?sayfa=urunler&kat=<%= rsalt("id") %>"><%= rs("kategori") %></a>

rsalt.movenext:loop

 end if
rsalt.close 

 end if
rs.close 

Bu kodları kendine göre düzenlemelisin. Direk koyduğunda çalışmaz. Burada ne kadar üst kategori varsa o kadar bağlantı açıyoruz. Bu sitenin çalışmasını biraz olsun yavaşlatır. Eğer kullandığın database mssql ise bunu JOIN ile tabloyu birleştirip veriyi çektirmen daha sağlılık olur. Ama ziyaretçi sayısı düşük siteler için sorun olmaz mdb de ben yılalrca kullandım. No Problem!.

 <% set rs_kat = Server.CreateObject("adodb.recordset")

if koruma(request("kat")) <> "" then
set rssor = server.CreateObject("adodb.recordset")
sql_kat2 = "select * from kategori where ustkategori= "&koruma(request("kat"))&" order by kategori asc"
rssor.open sql_kat2, urunbag, 1, 3
if rssor.eof then
set rs_1 = server.CreateObject("adodb.recordset")
sql_rs = "select * from kategori where id="&koruma(request("kat"))
rs_1.open sql_rs, urunbag, 1, 3
katim = rs_1("ustkategori")
rs_1.close
sql_kat = "select * from kategori where ustkategori=" & katim & " order by kategori asc"
else
sql_kat = "select * from kategori where ustkategori= " & koruma(request("kat")) & " order by kategori asc"
end if
rssor.close
else
sql_kat = "select * from kategori where ustkategori=0 order by kategori asc"
end if
rs_kat.open sql_kat, urunbag,1,3
do while not rs_kat.eof %>
<a href="default.asp?sayfa=urunler&kat=<%= rs_kat("id") %>"><%= rs_kat("kategori") %></a>
<% rs_kat.movenext:loop

rs_kat.close %>

 
Gönderildi : 02/06/2012 21:23

Paylaş: