Toon posts:

[ASP] Menu doormiddel van loop

Pagina: 1
Acties:

Verwijderd

Topicstarter
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:
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 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Verwijderd schreef op vrijdag 19 november 2004 @ 12:07:
Als ik deze tussen mijn code zet krijg ik hierop een foutmelding.
Welke?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Op het commando "ArrRows" dit commando zorgt ervoor dat er naar 1 vast veld in mijn database gekeken wordt. Als ik deze tussen mijn code zet krijg ik hierop de volgende fout. Ikz ie een leeg scherm

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 (ik zie dan een paar 1000 keer het eerste menu item in mij bron verschinen) 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?

Hatjee_Morre wijzigde dit bericht 19-11-2004 12:08 (15%)

  • JJvG
  • Registratie: Juli 2003
  • Laatst online: 27-04 16:49
zie mijn reactie in je [rml]andere topic[/rml]