Avatar billede daniel_d Nybegynder
03. januar 2003 - 01:53 Der 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.

Håber på lidt respons

Mvh
Daniel
Avatar billede medions Nybegynder
03. januar 2003 - 01:55 #1
For i = 1 To 10
  Response.Write(i)
Next

Er det sådan du mener?

//>Rune
Avatar billede daniel_d Nybegynder
03. januar 2003 - 01:58 #2
noget i den stil tror jeg...

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. -->
Avatar billede daniel_d Nybegynder
03. januar 2003 - 01:59 #3
så lige at jeg ikke har fjernet den sidste loop, men blot sat den ud af funktion, men sletter den lige for go ordens skyld
Avatar billede medions Nybegynder
03. januar 2003 - 01:59 #4
Hmm har du ikke et sted hvor jeg kan se hvordan det ser ud?

-er det noget ligende det her du søger?
www.medions.dk/bransholm

//>Rune
Avatar billede daniel_d Nybegynder
03. januar 2003 - 02:02 #5
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.

siden med fejl er her:
http://www.d-form.dk/cases/nke/Index.asp
Avatar billede medions Nybegynder
03. januar 2003 - 02:03 #6
:-) 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!

//>Rune
Avatar billede daniel_d Nybegynder
03. januar 2003 - 02:05 #7
eller hele koden på
http://www.d-form.dk/cases/nke/Index.txt
hvis det gør det nemmere
Avatar billede daniel_d Nybegynder
03. januar 2003 - 02:10 #8
Kan din kode sættes til at lukke undermenuen hvis man klikker på en ny hovedmenu ?
Avatar billede medions Nybegynder
03. januar 2003 - 02:19 #9
Jov mand kan... Men jeg kan desvære ikke lige huske hvordan det er...!

Peter Elkjær har lavet en træstruktur du kan prøve at kigge på her, hvis ikke du kan få mit til at virke:
http://www.peterelkjaer.dk/exp/skiftklasse.html

//>Rune
Avatar billede daniel_d Nybegynder
03. januar 2003 - 02:20 #10
jo, men så r problemet igen at Peters ikke er asp + db styret.
Avatar billede medions Nybegynder
03. januar 2003 - 02:25 #11
Tjaa...

Men well, mht. brugervenligheden syntes jeg nu alligevel at mit er bedst. Der har man jo selv styr over hvad det er man vil ha' åbnet osv...

//>Rune
Avatar billede daniel_d Nybegynder
03. januar 2003 - 02:27 #12
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...
Avatar billede daniel_d Nybegynder
03. januar 2003 - 02:56 #13
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
Avatar billede daniel_d Nybegynder
03. januar 2003 - 02:59 #14
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. -->
Avatar billede medions Nybegynder
03. januar 2003 - 03:01 #15
Jamen hvorfor laver du ikke nogle COUNT() på dine recordset så du får afvide hvor mange der er i hver undermenu?

//>Rune
Avatar billede daniel_d Nybegynder
03. januar 2003 - 03:03 #16
skal måske forklare det lidt bedre.

det skal se sådan her ud:
                                                            <div id="divTop3" class="clTop"><a href="#" onclick="menu(3); return false" onfocus="this.blur()"><img src="Pic/arrow.gif" name="imgA3" alt="" border="0">Møbler</a><br>
                                                                <div id="divSub3" class="clSub">
                                                                    <a href="#">Skriveborde</a><br>
                                                                    <a href="#">Opbevaring</a><br>
                                                                    <a href="#">Kontorstole</a><br>
                                                                    <a href="#">Konference/kantine</a><br>   
                                                                    <a href="#">Penge/brandskabe</a><br>   
                                                                    <a href="#">Øvrige</a><br>   
                                                                </div>
                                                            </div>
Avatar billede daniel_d Nybegynder
03. januar 2003 - 03:04 #17
hvor skriveborde, opbevaring m.m. er info fra min db - samme er møbler
Avatar billede daniel_d Nybegynder
03. januar 2003 - 03:54 #18
Hvor svært kan det være... hmmm

Tror jeg har set mig meget blind på det her... hjælper nok at sove lidt på det
Avatar billede mrs Nybegynder
03. januar 2003 - 09:59 #19
If Not (objRs.BOF Or objRs.EOF) Then
intTal = 0
Do While Not objRs.EOF
intTal = intTal + 1
    objRs.MoveNext
    Loop
else
intTal = 0
end if

Den tæller alle id samme fra din tabel. Du kan kalde tallet ved at skrive der hvor du ska bruge det med: intTal
Avatar billede daniel_d Nybegynder
03. januar 2003 - 12:46 #20
Nu har jeg ikke nået at teste det endnu, men vil den finde deltal af mængden, og ikke kun summen ?

Eks. lad os sige at der er 10 poster i min tabel. Gir en sum på 10, men jeg skal bruge 0, så 1,2,3,4,5,6,7,8,9

Kan funktionen det ?
Avatar billede daniel_d Nybegynder
03. januar 2003 - 14:07 #21
Kan desværre ikke få det til at virke.
Avatar billede mrs Nybegynder
03. januar 2003 - 16:08 #22
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.
Avatar billede daniel_d Nybegynder
03. januar 2003 - 20:58 #23
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

Mvh
Daniel
Avatar billede daniel_d Nybegynder
04. januar 2003 - 01:09 #24
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
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester