Muhtemelen : Bu dizi sabitlendi veya geçici olarak kilitlendi: array hatası alıyorsunuz dur. söz konusu başka bir hata varmı?
şeklinde bir fonksiyonum var.PHP Kodu:<%
Set cmd = CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
Private Function DataTable(byVal id)
cmd.CommandText = "Select SayfaID,BabaID,Baslik From tblSayfa Where BabaID = "& id &" Order By Sira ASC, SayfaID ASC;"
Set rs = cmd.Execute()
If Not rs.EOF Then DataTable = rs.GetRows End If
rs.Close : Set rs = Nothing
End Function
Public Function Liste(byVal id)
data = DataTable(id)
If IsArray(data) Then
aapMenuData = aapMenuData & "<ul>"& vbCrlf
For i = 0 To uBound(data, 2)
urlGlobal = "?Nereye=" & data(0,i)
aapMenuData = aapMenuData & vbTab &"<li><a title=""" & data(2,i) & """ href=""" & urlGlobal & """>" & data(2,i) & "</a></li>" & vbCrlf
Liste data(0,i)
Next
aapMenuData = aapMenuData & "</ul>"& vbCrlf
Else
Exit Function
End If
End Function
Liste(1)
Response.write aapMenuData
%>
Bu fonksiyonun aşağıdaki şekilde çıktı vermesi için 2 haftadır uğraşıyoruz. Daha önce bu şekilde bir fonksiyon yazan varsa ve burada benimle paylaşırsa çok sevinirim.
PHP Kodu:<ul>
<li><a href="#">ANASAYFA</a></li>
<li>
<a href="#">ÜRÜNLER</a>
<ul>
<li><a href="#">ÜRÜN 1</a></li>
<li><a href="#">ÜRÜN 2</a></li>
</ul>
</li>
<li>
<a href="#">REFERANSLAR</a>
<ul>
<li>
<a href="#">DENEME I</a>
<ul>
<li><a href="#">DENEME II</a></li>
<li><a href="#">DENEME III</a></li>
</ul>
</li>
<li>
<a href="#">DENEME II</a>
<ul>
<li><a href="#">DENEME III</a></li>
<li><a href="#">DENEME VI</a></li>
</ul>
</li>
<li><a href="#">DENEME III</a></li>
<li><a href="#">DENEME VI</a></li>
</ul>
</li>
<li><a href="#">İLETİŞİM</a></li>
</ul>
Muhtemelen : Bu dizi sabitlendi veya geçici olarak kilitlendi: array hatası alıyorsunuz dur. söz konusu başka bir hata varmı?
<li>
array(0) id ise
array(1) DENEME II Bu
<a href="#">DENEME II</a>
array(2) aşağıdakileri döngü için tekrar nasıl çevirebiliriz ki beklenmeyen next kullanımı hatası veriyor.
<ul>
<li><a href="#">DENEME III</a></li>
<li><a href="#">DENEME VI</a></li>
</ul>
</li>
Tekrar Liste data(0,i) çağrılınca sanırım istediğiniz olmuyor... Liste2 yapıp işledim ikinci kez gelen veri üste kalıyor bende.. gıcık bir şey
Mesaj arsende tarafından 06.11.2006 (23:33) yeniden düzenlendi.
<% Dim aapMenuData : aapMenuData = Null %> bunu en üste ekleyip deneyebilirmisiniz.
Fonksiyon sağlıklı çalışıyor. Amaç bu formatta çıktı almak.
Ben böyle yaptım, dosya da ekliyorum ...Kod:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> <% Set conn=server.CreateObject("ADODB.Connection") conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("test.mdb") Set cmd = CreateObject("ADODB.Command") Set cmd.ActiveConnection = conn cmd.CommandText = "Select * From tbl_test Where id = 1 Order By id ASC;" Set rs = cmd.Execute() If Not rs.EOF Then ArrayData = rs.GetRows End If rs.Close : Set rs = Nothing ' ----------------- If IsArray(ArrayData) Then aapMenuData = aapMenuData & "<ul>"& vbCrlf For i = 0 To uBound(ArrayData, 2) urlGlobal = "?Nereye=" & ArrayData(0,i) aapMenuData = aapMenuData & vbTab &"<li><a title=""" & ArrayData(1,i) & """ href=""" & urlGlobal & """>" & ArrayData(1,i) & "</a>" & vbCrlf '-------------- aapMenuData = aapMenuData & "<ul>"& vbCrlf For a = 2 To uBound(ArrayData) urlGlobal = "?Nereye=" & ArrayData(a,i) aapMenuData = aapMenuData & vbTab &"<li><a title=""" & ArrayData(a,i) & """ href=""" & urlGlobal & """>" & ArrayData(a,i) & "</a>" & vbCrlf Next aapMenuData = aapMenuData & vbTab &"</li>" & vbCrlf '-------------- aapMenuData = aapMenuData & vbTab &"</li>" & vbCrlf Next aapMenuData = aapMenuData & "</ul>"& vbCrlf response.write aapMenuData End if %> </BODY> </HTML>
Ben 1. sütünü başlık, geriye kalanları sayısı kadar alt alta dizim, alta alta dizilenlerin urlGlobal i kendi adı gibi bıraktım, ikinci döndüdeki (urlGlobal = "?Nereye=" & ArrayData(0,i)) a harifini 0 yaparsak satırın idsini alır. buyara kadar tamamda bu site haritası ise nasıl bir mantık yoksa bir örnekmi id hep anı kalacağı için merak ettim. pratik oldu tşk.
id aynı kalmıyor. Zaten fonksiyonum çalışıyor. Benim istediğim yukarıda yazdığım formatta çıktı almak. Şu anda ektede göreceğiniz üzere listeleme de düzgün ama istediğim formatta değil.
istenilen format :
Göreceğiniz üzere tüm <li> ler kapanmıyor bazılarına eğer varsa child ları ekleniyor daha sonra kapanıyor.PHP Kodu:<ul>
<li><a href="#">ANASAYFA</a></li>
<li>
<a href="#">ÜRÜNLER</a>
<ul>
<li><a href="#">ÜRÜN 1</a></li>
<li><a href="#">ÜRÜN 2</a></li>
</ul>
</li>
<li>
<a href="#">REFERANSLAR</a>
<ul>
<li>
<a href="#">DENEME I</a>
<ul>
<li><a href="#">DENEME II</a></li>
<li><a href="#">DENEME III</a></li>
</ul>
</li>
<li>
<a href="#">DENEME II</a>
<ul>
<li><a href="#">DENEME III</a></li>
<li><a href="#">DENEME VI</a></li>
</ul>
</li>
<li><a href="#">DENEME III</a></li>
<li><a href="#">DENEME VI</a></li>
</ul>
</li>
<li><a href="#">İLETİŞİM</a></li>
</ul>
@soul, @absconder yardımlarınızı bekliyorum. İşin içinden çıkamadık.
bide böyle bişi var. Unlimited Depth Category Tree - active server pages, ASP, vbscript
Estetik Detayda Gizlidir.
Fonksiyonsuz yaptım ama fonksiyon halinde neden olmuyor.. garip.