03. januar 2003 - 01:53Der er
23 kommentarer og 1 løsning
tælle op i asp gennem loop ?
Hej folkens
Findes der i asp (kan godt være jeg spørger dumt) en funktion der kan tælle fra 0 til mange gennen et loop ?
Jeg skal bruge det til en menu som skal bruge et id til at identificere hovedmenu med tilhørende undergruppe og det vil ikke acceptere at jeg bruger mit tabel id fra db'en.
Så en sidste ting. Kan man så tage det sidste tal den har fundet og smide i en variabel som faktisk skal bruges tidligere i scriptet ?
Denne variabel vil være lig antallet af hovedmenupunkter i db'en så måske kunne man lave et query derfra og få det til at virke den vej.
Hele menuen ser sådan ud. lidt forvirrende må jeg sige, men får ingen asp fejl, kun fejl i javascriptet og tror det er pga mine id="divTop<%=objRs("ID")
<div id="divCont"> <!-- These are the contents of the foldoutmenu. --> <% 'Lav en forespørgsel der finder forsidens titel strSQL = "SELECT * FROM forside" set objRs = objConn.Execute(strSql) %> <div id="divTop<%=objRs("ID")%>" class="clTop"><a href="#" onclick="fold_alle(); return false" onfocus="this.blur()"><img src="Pic/arrow.gif"" alt="" border="0"><%=objRs("title")%></a><br></div> <% 'Lav en forespørgsel der finder alle kategorierne strSQL = "SELECT * FROM categories" set objRs = objConn.Execute(strSql) do while not objRs.Eof 'Så længe der er noget i resultatsættet %> <div id="divTop<%=objRs("ID")%>" class="clTop"><a href="#" onclick="menu(<%=objRs("ID")%>); return false" onfocus="this.blur()"><img src="Pic/arrow.gif" name="imgA<%=objRs("ID")%>" alt="" border="0"><%=objRs("categoryname")%></a><br> <% strSQL = "SELECT * FROM articles WHERE category=" & objRs("id") & " and releasetoweb=" & 1 & " and date() BETWEEN startdate and enddate ORDER by id ASC" set objRs_kat = objConn.Execute(strSql) 'Så længe der er artikler til kategorien: %> <div id="divSub<%=objRs_kat("Category")%>" class="clSub"> <% Do while not objRs_Kat.Eof %> <a href="Index.asp?ID=<%=objRs_kat("ID")%>"><%=objRs_kat("title")%></a><br> <% objRs_Kat.MoveNext Loop objRs_Kat.Close set objRs_Kat = nothing %> </div> </div> <% 'Gå videre til næste kategori objRs.MoveNext Loop
'Luk kategorier når vi er færdige objRs.Close set objRs = Nothing
'objRs.MoveNext 'gå til næste række 'Loop 'fortsæt løkke 'Luk resultatsættet efter os 'objRs.Close 'set objRs = Nothing
'Dette er MEGET vigtigt når man arbejder med ACCESS databaser. 'Luk altid forbindelsen til den i hvert script objConn.Close set objConn = Nothing %> </div> <!-- Here ends the foldoutmenu. -->
Det ligner meget det jeg søger. Blot skal den opføre sig sådan her: http://www.d-form.dk/cases/nke/Index-ok.asp - dette er den statiske side jeg er ved at lave dynamisk den lukker den aktuelle undermenu hvis man trykker på en ny overmenu.
:-) Det er jo præcist det jeg har lavet du søger! *G* Tag dog min kode og brug den i stedet for! -vil du ha' databasen oxo, så giv mig lige din e-mail adr. så sender jeg den til dig!
det r rigtigt, men så igen. med det design jeg har lavet r det ikke så godt hvis den menuen bliver meget lang. Case - alle menuer åbne. Så i mit tilfælde vil jeg helst at den lukkede...
okay... det er 100% sikkert at problemet ligger i at menuen skal tælle fra 0 til det antal hovedmenupunkter der er. den må f.eks. ikke gå i intervaller på 10
Så problemet er "bare" at få den til at tælle rigtigt... kan ikke dreje den lige nu, men måske også for træt nu
det vil sige at jeg skal indsætte en tællefunktion i dette stykke kode der hvor der nu er divTop<%=objRs("ID")%> og divTop<%=objRs_kat("ID")%> samt divTop<%=objRs_kat("Category")%>
De tre skal have samme tal - start fra 0 og opefter... hmmm
Den funktion du postede kan jeg ikke helt få til at virke efter hensigten. Den virker isoleret ja, men ikke sammen med min kode - ØV!
<div id="divCont"> <!-- These are the contents of the foldoutmenu. --> <% 'Lav en forespørgsel der finder forsidens titel strSQL = "SELECT * FROM forside" set objRs = objConn.Execute(strSql) %> <div id="divTop<%=objRs("ID")%>" class="clTop"><a href="#" onclick="fold_alle(); return false" onfocus="this.blur()"><img src="Pic/arrow.gif"" alt="" border="0"><%=objRs("title")%></a><br></div> <% 'Lav en forespørgsel der finder alle kategorierne strSQL = "SELECT * FROM categories" set objRs = objConn.Execute(strSql) do while not objRs.Eof 'Så længe der er noget i resultatsættet %> <div id="divTop<%=objRs("ID")%>" class="clTop"><a href="#" onclick="menu(<%=objRs("ID")%>); return false" onfocus="this.blur()"><img src="Pic/arrow.gif" name="imgA<%=objRs("ID")%>" alt="" border="0"><%=objRs("categoryname")%></a><br> <% strSQL = "SELECT * FROM articles WHERE category=" & objRs("id") & " and releasetoweb=" & 1 & " and date() BETWEEN startdate and enddate ORDER by id ASC" set objRs_kat = objConn.Execute(strSql) 'Så længe der er artikler til kategorien: %> <div id="divSub<%=objRs_kat("Category")%>" class="clSub"> <% Do while not objRs_Kat.Eof %> <a href="Index.asp?ID=<%=objRs_kat("ID")%>"><%=objRs_kat("title")%></a><br>
<% objRs_Kat.MoveNext Loop objRs_Kat.Close set objRs_Kat = nothing %> </div> </div> <% 'Gå videre til næste kategori objRs.MoveNext Loop 'Luk kategorier når vi er færdige objRs.Close set objRs = Nothing
'Dette er MEGET vigtigt når man arbejder med ACCESS databaser. 'Luk altid forbindelsen til den i hvert script objConn.Close set objConn = Nothing %> </div> <!-- Here ends the foldoutmenu. -->
Den finder kun summen. Så skal man lave et regnestykke, der går ud fra den samlede sum. Måske kunne man udskrive tallet hvergang den har løbet en record igennem.
If Not (objRs.BOF Or objRs.EOF) Then intTal = 0 Do While Not objRs.EOF intTal[intTal] = intTal[intTal] + 1 objRs.MoveNext Loop else intTal = 0 end if
Den udskriver muligvis alle de records der er. Hvor [intTal] er det foregående tal, men den kalder ikke tallet jeg kan ikke lige gennemskue hvordan det sker. Der ligge måske også en mulighed i coolmenu www.dhtmlcentral.com kun et foreslag jeg kan ikke lige gennemskue at lave den udregning.
Jeg har løst problemet ved at tildele hver menupunkt et "rækkefølge-id" som går fra 0 - antal hovedmenupunkter. På den måde kan man samtidig flytte rundt på rækkefølgen. Har dog ikke lavet admindelen til dette endnu, men det virker.
Skal bare finde på en metode til hvorpå man kan flytte rundt med de id'er. 2 hovedmenuer må f.eks ikke have samme rækkefølge-id, men måske man ku lave en dropdownbox til hvert menupunkt hvor man så kunne vælge rækkefølgen i og så en valideringsregel der tjekkede om nogen menupunkter havde samme nr.
Tror det må være måden at gøre det på... Hvis der er nogen der sidder med en go' ide til det så giv endelig lyd fra jer
Da jeg har løst mit problem lukker jeg af her. medions prøvede ihærdigt at hjælpe mig, så point til dig.
mrs. Din hjælp kunne jeg desværre ikke bruge :o(
Mvh Daniel
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.