Ik ben al enige tijd bezig om een menubalk dynamisch uit een access database te halen, De programmeer code die ik hiervoor gebruik is ASP. De menubalk wordt zelf door een javascript geladen. Het is zo dat ik dit doe voor een bestaande website, deze ben ik aan het aanpassen. Eerst werd er geen gerbuik gemaakt van een acces database en werd het menu al volgt geladen:
Nu heb ik hiervoor de volgende loop gemaakt:
De uitkomst van dit script is als volgt:
Opzich gewoon goed, ook de submenu's die ik in de loop verwerkt heb worden geladen. Maar ik zit met het volgende probleem:
In de loop maak ik gebruik van "ObjRS" dit commando zorgt ervoor dat er na een kolom in mijn database gekeken wordt. Hierdoor wordt door de loop alle informatie uit de database gehaalt, dit werkt. Maar nu wil ik zoals je in de uitkomst van de orginele ook de plaatjes in de loop verwerken dit zijn de volgende plaatjes:
Dit wil ik doen met het commando "ArrRows" dit commando zorgt ervoor dat er naar 1 vaste tabel in mijn database gekeken wordt. Als ik deze tussen mijn code zet krijg ik hierop een foutmelding.
ik heb gerpobeerd om midels Objrs.close en dan objRS.Open MyRS, objConnection, 3,3 ArrRows=ObjRS.getRows deze te dimmen maar dan krijg ik dat de loop doorloopt en niet stopt open ik alleen objRS.Open MyRS, objConnection, 3,3 ArrRows=ObjRS.getRows dan geeeft hij aan dat ObjRS nog open is en dat hij geen nieuwe kan maken wie weet wat misschien wat hiervoor de oplossing is?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| window.fw_menu_2 = new Menu("root",154,18,"Verdana, Arial, Helvetica, sans-serif",11,"#ffffff","#ffffff","#0000cc","#000084");
fw_menu_2.addMenuItem("Internet routers","location='internet_i_r.htm'");
fw_menu_2.addMenuItem("E-mail servers","location='internet_e_s.htm'");
fw_menu_2.addMenuItem("Web hosting","location='internet_w_h.htm'");
fw_menu_2.addMenuItem("ISDN modems","location='internet_i_m.htm'");
fw_menu_2.bgImageUp="images/fwmenu4_154x18_up.gif";
fw_menu_2.bgImageOver="images/fwmenu4_154x18_over.gif";
fw_menu_2.hideOnMouseOut=true;
fw_menu_2.restoreParam='images/testmenu_r1_c3.gif'
window.fw_menu_3 = new Menu("root",154,18,"Verdana, Arial, Helvetica, sans-serif",11,"#ffffff","#ffffff","#0000cc","#000084");
fw_menu_3.addMenuItem("LAN analyses","location='telecom_l_a.htm'");
fw_menu_3.addMenuItem("WAN analyses","location='telecom_w_a.htm'");
fw_menu_3.addMenuItem("Link simulators","location='telecom_l_s.htm'");
fw_menu_3.addMenuItem("Break out boxes","location='telecom_b_b.htm'");
fw_menu_3.addMenuItem("Cable testers","location='telecom_c_t.htm'");
fw_menu_3.addMenuItem("Analysis service","location='telecom_a_s.htm'");
fw_menu_3.bgImageUp="images/fwmenu4_154x18_up.gif";
fw_menu_3.bgImageOver="images/fwmenu4_154x18_over.gif";
fw_menu_3.hideOnMouseOut=true;
fw_menu_3.restoreParam='images/testmenu_r1_c4.gif' |
Nu heb ik hiervoor de volgende loop gemaakt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| dim curentHoofdItem, nummer, Plaatjes, subnummer, Afbeelding, SubMenuNaam, HoofdMenuLink, MyRS, ArrRows
HoofdMenuLink = 1
Plaatjes = 4
Afbeelding = 7
currentHoofdItem =""
SubMenuNaam = ""
nummer = 0
subnummer = 0
MyRS = "SELECT HoofdMenuItems.Omschrijving AS HoofdItem, HoofdMenuItems.Link as HoofdMenuLink, MenuItems.Omschrijving AS Item, MenuItems.Link as MenuLink, MenuItems.Plaatjes as Plaatjes, SubMenu.MenuNaam as SubMenuNaam, SubMenu.MenuLink as SubMenuLink, SubMenu.Afbeelding as Afbeelding FROM ((HoofdMenuItems LEFT JOIN MenuItems ON HoofdMenuItems.HoofdMenuItemID = MenuItems.HoofdMenuItemID) LEFT JOIN SubMenu ON MenuItems.MenuItemID = Submenu.SubItemID) ORDER BY HoofdMenuItems.Omschrijving, MenuItems.Omschrijving;"
set objRS = Server.CreateObject("ADODB.RecordSet")
objRS.Open MyRS, objConnection, 3,3
do UNTIL objRS.EOF
if ObjRS("HoofdItem") <> currentHoofdItem then
currentHoofdItem = objRS("HoofdItem")
Nummer = nummer+1 %>
window.fw_menu_<% =nummer %>=new Menu("root",154,18,"Verdana, Arial, Helvetica, sans-serif",11,"#ffffff","#ffffff","#0000cc","#000084");
<% end if %>
fw_menu_<% =nummer %>.addMenuItem("<% response.write(ObjRS("Item")) %>","location=<% response.write(ObjRS("MenuLink")) %>");
<% if not isNull(objRS("SubMenuNaam")) then %>
window.fw_menu_<% =nummer %>_<% =subnummer %>= new Menu(154,18,""Verdana, Arial, Helvetica, sans-serif"",11,""#ffffff"",""#ffffff"",""#0000cc"",""#000084"");
fw_menu_<% =nummer %>_<% =subnummer %>.addMenuItem("<% response.write(ObjRS("SubMenuNaam")) %>","location=<% response.write (ObjRS("SubMenuLink")) %>");
<% end if %>
fw_menu_<% =nummer %>.bgImageUp=("<% response.write(" & arrRows(Plaatjes,26) &") %>");
fw_menu_<% =nummer %>.bgImageOver=("<% response.write(" & arrRows(Plaatjes,27) &") %>");
fw_menu_<% =nummer %>.hideOnMouseOut=true
<% ObjRs.MoveNext
loop
%> |
De uitkomst van dit script is als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| window.fw_menu_3=new Menu("root",154,18,"Verdana, Arial, Helvetica, sans-serif",11,"#ffffff","#ffffff","#0000cc","#000084");
fw_menu_3.addMenuItem("Enviroment Security","location=security_e_s.asp");
fw_menu_3.addMenuItem("Firewall","location=security_f_w.asp");
fw_menu_3.addMenuItem("Infrastructure Security","location=security_I_s.asp");
window.fw_menu_4=new Menu("root",154,18,"Verdana, Arial, Helvetica, sans-serif",11,"#ffffff","#ffffff","#0000cc","#000084");
fw_menu_4.addMenuItem("Interface Conversion","location=special_I_c.asp");
fw_menu_4.addMenuItem("PABX Solutions","location=special_p_s.asp");
fw_menu_4.addMenuItem("Proctocol Conversion","location=special_p_c.asp");
fw_menu_4.addMenuItem("Remote Access","location=special_r_a.asp");
fw_menu_4.addMenuItem("X.25 Switching","location=special_x_s.asp"); |
Opzich gewoon goed, ook de submenu's die ik in de loop verwerkt heb worden geladen. Maar ik zit met het volgende probleem:
In de loop maak ik gebruik van "ObjRS" dit commando zorgt ervoor dat er na een kolom in mijn database gekeken wordt. Hierdoor wordt door de loop alle informatie uit de database gehaalt, dit werkt. Maar nu wil ik zoals je in de uitkomst van de orginele ook de plaatjes in de loop verwerken dit zijn de volgende plaatjes:
code:
1
2
3
| fw_menu_<% =nummer %>.bgImageUp=("<% response.write(arrRows(Plaatjes,26)) %>");
fw_menu_<% =nummer %>.bgImageOver=("<% response.write(arrRows(Plaatjes,27)) %>");
fw_menu_<% =nummer %>.hideOnMouseOut=true |
Dit wil ik doen met het commando "ArrRows" dit commando zorgt ervoor dat er naar 1 vaste tabel in mijn database gekeken wordt. Als ik deze tussen mijn code zet krijg ik hierop een foutmelding.
ik heb gerpobeerd om midels Objrs.close en dan objRS.Open MyRS, objConnection, 3,3 ArrRows=ObjRS.getRows deze te dimmen maar dan krijg ik dat de loop doorloopt en niet stopt open ik alleen objRS.Open MyRS, objConnection, 3,3 ArrRows=ObjRS.getRows dan geeeft hij aan dat ObjRS nog open is en dat hij geen nieuwe kan maken wie weet wat misschien wat hiervoor de oplossing is?
[ Voor 15% gewijzigd door Verwijderd op 19-11-2004 12:08 ]