27. april 2002 - 15:20Der er
13 kommentarer og 1 løsning
hvorfor virker det ikke??
her koden: strNavne = "" do arrM = split(strNavne,",") for i = Lbound(arrM) to Ubound(arrM) If rs("skrevet_af") = arrM(i) Then else response.write rs("skrevet_af") & "<input type = ""radio"" name =""ac"" value=""" & rs("skrevet_af") & """><br>" strNavne = rs("skrevet_af") & "," end if next rs.movenext Loop while Not rs.EOF
det skulle gøre at et navn ikke bliver vist to eller flere gange?? men det giver overhovet ingen ting i output???alstå html??
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Første gang du kommer ind i den er strNavne = "" så når du spliter får du et 1 dim array LBound(arr)=0 og UBound(arr)=-1 altså du vil aldrig komme ind i din for-sætning som udskriver skrevet_af. Så du kommer bare hurtigt gennem recordset (rs.movenext) uden af udskrive noget.
Derudover er der lige et par små ting: strNavne = rs("skrevet_af") & "," 'sletter andre gemte navne skal være strNavne = strNavne & rs("skrevet_af") & ","
Hvis det er så er rettet vil du hver gang skrevet_af er forskellig fra den man har udskreveet lavet en radiobuttom, så hvis du bare har 5 navn får du 25 readiobottoms....
Jeg ville lave det med instr så du ikke behøver loop'e x mange gange for at tjekke om navnet er udskrevet. Benytter stadig strNavne. strNavne indeholder en komma sepretet streng: ",navn1,navn2,navn3,nanv4," hver gang et navn er udskrevet ligges det ind i strNavne. Grunden til at den starter med "," er at så kan man med 100% sikkerhed sigde om navnet er udskrevet ved at søge effer ",navn,".
strNavne = "," do if inStr(1,strNavne,","& rs("skrevet_af") & ",") = 0 then response.write rs("skrevet_af") & "<input type = ""radio"" name =""ac"" value=""" & rs("skrevet_af") & """><br>" strNavne = strNavne & rs("skrevet_af") & "," end if rs.movenext Loop while Not rs.EOF
det virker næsten..: strNavne = "," do if inStr(1,strNavne,","& rs("skrevet_af") & ",") = 0 then response.write rs("skrevet_af") & "<input type = ""radio"" name =""ac"" value=""" & rs("skrevet_af") & """><br>" strNavne = strNavne & rs("skrevet_af") & "," end if rs.movenext Loop while Not rs.EOF response.write "<input type = ""hidden"" name =""input"" value=""" & strInput & """><br>" Response.write "<input type=""submit"" value=""Acentere"" id=""submit""><br><b> OBS:<br></b> Hvis du ikke vil give en bruger nogen points så udfyld det som <b>0</b>(nul)"
else strSQL = "Select * from " & strKatori & " where kom_id =" & strId & " and kom_svar=true" Set rs = Conn.ExeCute(strSQL) if rs.EOF Then else Response.write "<p> Acenpere:" response.Write "<FORM method=""post"" action = ""ac.asp?kat=" & strKatori & "&id=" & rs("kom_id") & """>"
strNavne2 = "," do if inStr(1,strNavne2,"," & rs("skrevet_af") & ",") = 0 then response.write rs("skrevet_af") & "<input type = ""radio"" name =""ac"" value=""" & rs("skrevet_af") & """><br>" strNavne2 = strNavne2 & rs("skrevet_af") & "," end if rs.movenext Loop while Not rs.EOF response.write "<a href=""se.asp?kat=" & request.Querystring("kat") & "&mode=se_hj&id=" & request.Querystring("id") & "&mere=accen"">Acenenceret.....</a>" Response.write "<input type=""submit"" value=""Acentere"" id=""submit""><br>"
anden gang virker det ikke.. :( sætter lige flere points.. anden gang viser den kun buha hvor det som i eteren skulle være test og buha
Det ser ud som om det er samme recordset du udskriver fra. I første loop loop'er du indtil rs.EOF. Så du skal kalde rs.MoveFirst lige inden anden loop, så recordset starter forfra i andet loop.
rs.MoveFirst '<---------- Indsæt her strNavne2 = "," do if inStr(1,strNavne2,"," & rs("skrevet_af") & ",") = 0 then
sådan her?? det virker heller ikke..: strNavne = ","
do if inStr(1,strNavne,"," & rs("skrevet_af") & ",") = 0 then response.write rs("skrevet_af") & "<input type = ""text"" name =""ac"" value=""0""><br>" strNavne = strNavne & rs("skrevet_af") & "," end if rs.movenext Loop while Not rs.EOF response.write "<input type = ""hidden"" name =""input"" value=""" & strInput & """><br>" Response.write "<input type=""submit"" value=""Acentere"" id=""submit""><br><b> OBS:<br></b> Hvis du ikke vil give en bruger nogen points så udfyld det som <b>0</b>(nul)"
else strSQL = "Select * from " & strKatori & " where kom_id =" & strId & " and kom_svar=true" Set rs = Conn.ExeCute(strSQL) if rs.EOF Then else Response.write "<p> Acenpere:" response.Write "<FORM method=""post"" action = ""ac.asp?kat=" & strKatori & "&id=" & rs("kom_id") & """>"
strNavne2 = "," do if inStr(1,strNavne2,","& rs("skrevet_af") & ",") = 0 then response.write rs("skrevet_af") & "<input type = ""radio"" name =""ac"" value=""" & rs("skrevet_af") & """><br>" strNavne2 = strNavne2 & rs("skrevet_af") & "," end if rs.movenext Loop while Not rs.EOF
vil du se hele koden?? eller bare det det høre til: strSQL = "Select * from " & strKatori & " where id =" & strId & " and hj=true" Set rs = Conn.ExeCute(strSQL) if session("brugernavn") = rs("skrevet_af") and rs("svaret") = False Then if request.Querystring("mere") = "accen" Then response.Write "<FORM method=""post"" action = ""ac.asp?mere=accen&kat=" & strKatori & "&id=" & rs("kom_id") & """>" response.write "<p>" strNavne = ","
do if inStr(1,strNavne,"," & rs("skrevet_af") & ",") = 0 then response.write rs("skrevet_af") & "<input type = ""text"" name =""ac"" value=""0""><br>" strNavne = strNavne & rs("skrevet_af") & "," end if rs.movenext Loop while Not rs.EOF response.write "<input type = ""hidden"" name =""input"" value=""" & strInput & """><br>" Response.write "<input type=""submit"" value=""Acentere"" id=""submit""><br><b> OBS:<br></b> Hvis du ikke vil give en bruger nogen points så udfyld det som <b>0</b>(nul)"
else strSQL = "Select * from " & strKatori & " where kom_id =" & strId & " and kom_svar=true" Set rs = Conn.ExeCute(strSQL) if rs.EOF Then else Response.write "<p> Acenpere:" response.Write "<FORM method=""post"" action = ""ac.asp?kat=" & strKatori & "&id=" & rs("kom_id") & """>"
strNavne2 = "," do if inStr(1,strNavne2,","& rs("skrevet_af") & ",") = 0 then response.write rs("skrevet_af") & "<input type = ""radio"" name =""ac"" value=""" & rs("skrevet_af") & """><br>" strNavne2 = strNavne2 & rs("skrevet_af") & "," end if rs.movenext Loop while Not rs.EOF response.write "<a href=""se.asp?kat=" & request.Querystring("kat") & "&mode=se_hj&id=" & request.Querystring("id") & "&mere=accen"">Acenenceret.....</a>" Response.write "<input type=""submit"" value=""Acentere"" id=""submit""><br>"
Det enste jeg kan kommer er at du har en SQL-sætning til hver loop.
Ved loop1: strSQL = "Select * from " & strKatori & " where id =" & strId & " and hj=true" Ved Loop2: strSQL = "Select * from " & strKatori & " where kom_id =" & strId & " and kom_svar=true"
Skal det give samme output i begge tilfælde ? Det er ikke sådan at i loop2 er kom_svar false ved "test" og true ved "buha"
Det har dog kun betydning hvis du får et tomt recordset tilbage:
Do resttes til: Do while not rs.EOF Samt: Loop while Not rs.EOF rettes til: Loop
En: Do .... Loop while Not rs.EOF vil man altid komme igennnem mindst en gang og hvis du har et tomt recordset vil det typsik give en fejl hvis du bruger recordset'et (eksvis: noget=rs("skrevet_af")) Hvorimod: Do while not rs.EOF .... Loop kommer man kun igennem hvis der er noget i recordset'et.
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.