Avatar billede freedom Nybegynder
27. april 2002 - 15:20 Der 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??
Avatar billede egede Nybegynder
27. april 2002 - 15:24 #1
Det er fordi at du looper i al uendelighed med din do og din next
Avatar billede egede Nybegynder
27. april 2002 - 15:25 #2
soory, læste forkert :/
Avatar billede egede Nybegynder
27. april 2002 - 15:25 #3
Er strNavne altid lig med "" ?
Avatar billede freedom Nybegynder
27. april 2002 - 15:26 #4
ja...
Avatar billede freedom Nybegynder
27. april 2002 - 15:27 #5
iden er den tager navnet og tjekker hvis der ikke der udskriver den noget html og gemmer navnet så det ikke blive vist igen

hvis der findes hvisden igen ting...
Avatar billede eagleeye Praktikant
27. april 2002 - 19:22 #6
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
Avatar billede freedom Nybegynder
27. april 2002 - 23:25 #7
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
Avatar billede eagleeye Praktikant
27. april 2002 - 23:37 #8
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
Avatar billede freedom Nybegynder
27. april 2002 - 23:43 #9
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
Avatar billede eagleeye Praktikant
27. april 2002 - 23:51 #10
Den else som står midt i koden hvor høre den til?


else   
strSQL = "Select * from " & strKatori & " where kom_id =" & strId & " and kom_svar=true"
Set rs = Conn.ExeCute(strSQL)
if rs.EOF Then
else


Hvis jeg tror rigtig har du en if sætning også såddan her:

if (NOGET) then
  strNavne = ","

  do ....
  Loop while Not rs.EOF

else 
  strNavne2 = ","

  do ....
  Loop while Not rs.EOF

end if

Er det rigtigt??
Avatar billede freedom Nybegynder
28. april 2002 - 00:00 #11
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>"
Avatar billede eagleeye Praktikant
28. april 2002 - 00:07 #12
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"
Avatar billede freedom Nybegynder
28. april 2002 - 00:12 #13
nu virker det takker...
Avatar billede eagleeye Praktikant
28. april 2002 - 00:18 #14
ok.. jeg har lige en kommentar til :)


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.
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