Меню-дерево
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Меню-дерево Expand / Collapse
Автор
Сообщение
26.03.2001 16:21
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 19.03.2007 10:50
Сообщ.: 374, Visits: 4 117
Вот скрипт строящий дерево по данным из базы. Поля : ItemID порядковый номер книги в базе , родительский ParentID, название книжки Name.


Что я делаю не так? (Ногами сильно не пинайте - я ведь только учусь :)

<%@ LANGUAGE = "JScript" %>
<%var connect, rs;

connect = Server.CreateObject("ADODB.Connection");
connect.Open("DSN=Books", "aaa", "");

%>
<h2>Список книг по категориям:</h2>
<%MakeTree(0, 0);
connect.Close();%>

<%
function MakeTree(ID, Level)
{
SQL="select * from ItemBooks where ParentId="+ID+" order by IdOrder";
rs = connect.Execute(SQL);
while (!rs.EOF)
{
MsgID = rs.Fields("ItemId");
for (i=0;i<Level;i++)
{
Response.Write("&nbsp;&nbsp;&nbsp;");
}
Response.Write(rs.Fields("Name")+"<br>");
MakeTree(MsgID, (Level + 1));
rs.MoveNext();
}
rs.Close();
}
%>
Сообщ. #706716
30.03.2001 13:21
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 06.08.2002 9:50
Сообщ.: 28, Visits: 309
// Подправишь если ошибся

Response.Write(MakeTree(0));

function MakeTree(parent)
{
var result = "";
var s = "";

SQL="select * from ItemBooks where ParentId=" + parent + " order by IdOrder";
rs = connect.Execute(SQL);

while (!rs.EOF)
{
s = MakeTree(rs.Fields("ItemId"));
if(s.length > 0)
{
result += "<div style='margin-left:15;'>" + s + "</div>";
}
else
{
result += "<div>" + rs.Fields("Name") + "</div>";
}
rs.MoveNext();
}

rs.Close();
return result;
}
Сообщ. #706967
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 1:02