Avatar billede loukas Mester
14. marts 2003 - 00:35 Der er 19 kommentarer og
1 løsning

array loop !!

Jeg prøver igen ;-)

Jeg looper igennem et recordset.
Hvis rs("id") er et af tallene fra array'et skal der ikke skrives noget.

Lidt kode:
If Not (rs2.BOF Or rs2.EOF) Then

                       
            Do While Not rs2.EOF or rs2.BOF
           
            strID = rs2("id")
               
For t = 0 to Ubound(arrID1)
    if Cstr(arrId1(t)) = Cstr(strID) then
    Match = true
    End if
Next
if Match = true then
    Response.Write "match"
end if

            Response.Write "<table border=""0"" cellspacing=""0"" width=""760"" cellpadding=""3"" >"
            Response.Write "<tr><td width=99% ><FONT FACE=""Verdana, Times New Roman"" SIZE=""2"" >" & "<a href="& rs2("www")&" TARGET=_blank>"& rs2("titel") &"</A> - " & rs2("description")&"<BR></FONT><FONT FACE=""Verdana, Times New Roman"" SIZE=""1"" ></FONT><hr>"
            Response.Write "</td></tr></table>"
            Response.Write "<br>"
           
              rs2.movenext
              loop   
           
           
Else
                Response.Write ""
End If
       
            Set rs2 = Nothing
Avatar billede loukas Mester
14. marts 2003 - 00:36 #1
den skriver match ved dem alle lige nu ??
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 00:44 #2
prøv evt.:

<%
if not (rs2.eof or rs2.bof) then
if not arrId1(strID) <> '' then
// Kode hvis ikke array'et er et af id'erne
end if
end if
%>

Ved ikke om det virker bare et hurtigt gæt....

//Mr.Meincke
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 00:45 #3
*if not arrId1(strID) <> "" then
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 00:46 #4
argh er vidst lidt træt... HUSK LOOP! ;)
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 00:49 #5
oki ... lidt noget lort det eksempel jeg har lavet... Prøv det her:

<%
if not (rs2.eof or rs2.bof) then
  do while not (rs2.eof or rs2.bof)
      if not arrId1(strID) = strID then
      // Kode hvis ikke array'et er et af id'erne
      end if
  rs.MoveNext
  loop
end if
%>
Avatar billede loukas Mester
14. marts 2003 - 00:52 #6
hmm, jeg fik en fejl. Og 7610 er et tal fra arrayet:
Der opstod en Microsoft VBScript-kørselsfejl fejl '800a0009'

Indekset er uden for området: '7610'

/mySQL/search/search.asp, linje 106


linje 106 er:
if not arrId1(strID) <> "" then
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 00:54 #7
hmmm... giv mig 2 min så får du et færdigt eksempel...
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 01:01 #8
Hvilken fejlmeddelse får du ved dit eget script?
Avatar billede loukas Mester
14. marts 2003 - 01:03 #9
Der kommer ingen fejl, den skriver bare match ved alle loops ?
altså som om alle var i arrayet
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 01:07 #10
wierd... 2 sek - er pisse træt så tænker ikke så "hurtigt" ;)
Avatar billede loukas Mester
14. marts 2003 - 01:09 #11
med denne kode her skriver den alle ud igne :-(

if not (rs2.eof or rs2.bof) then
  do while not (rs2.eof or rs2.bof)
      if not arrId1(strID) = strID then
   

            Response.Write "<table border=""0"" cellspacing=""0"" width=""760"" cellpadding=""3"" >"
            Response.Write "<tr><td width=99% ><FONT FACE=""Verdana, Times New Roman"" SIZE=""2"" >" & "<a href="& rs2("www")&" TARGET=_blank>"& rs2("titel") &"</A> - " & rs2("description")&"<BR></FONT><FONT FACE=""Verdana, Times New Roman"" SIZE=""1"" ></FONT><hr>"
            Response.Write "</td></tr></table>"
   
   
      end if
  rs2.MoveNext
  loop
end if
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 01:11 #12
lol hvis det her er fejlen slår jeg fandme mig selv.. Prøv:

<%
If Not (rs2.BOF Or rs2.EOF) Then

                       
            Do While Not rs2.EOF or rs2.BOF
           
            strID = rs2("id")
               
For t = 0 to Ubound(arrID1)
    if arrId1(t)+0 = strID+0 then
    Match = true
    End if
Next
if Match = true then
    Response.Write "match"
end if

            Response.Write "<table border=""0"" cellspacing=""0"" width=""760"" cellpadding=""3"" >"
            Response.Write "<tr><td width=99% ><FONT FACE=""Verdana, Times New Roman"" SIZE=""2"" >" & "<a href="& rs2("www")&" TARGET=_blank>"& rs2("titel") &"</A> - " & rs2("description")&"<BR></FONT><FONT FACE=""Verdana, Times New Roman"" SIZE=""1"" ></FONT><hr>"
            Response.Write "</td></tr></table>"
            Response.Write "<br>"
           
              rs2.movenext
              loop   
           
           
Else
                Response.Write ""
End If
%>
Avatar billede loukas Mester
14. marts 2003 - 01:14 #13
der var du heldig :-)
Det var ikke fejlen
Der opstod en Microsoft VBScript-kørselsfejl fejl '800a000d'

Typer stemmer ikke overens: '[string: ""]'


og linje 106 er:
  if arrId1(t)+0 = strID+0 then

/mySQL/search/search.asp, linje 106
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 01:15 #14
ahhh så udskift:
if arrId1(t)+0 = strID+0 then

med:
  Cstr(arrId1(t))&"" = Cstr(strID)&""
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 01:24 #15
Nå, jeg smutter i seng... Tjekker spørgsmålet i morgen! Godnat! =)
Avatar billede loukas Mester
14. marts 2003 - 01:27 #16
prøv at tjekke hvordan den første kode jeg lagde her ser ud ;-)
Avatar billede grunken Nybegynder
14. marts 2003 - 02:41 #17
hmm, den sætter jo match til true hvis den finder den første ID i databasen IK ?

prøv hurtigt at skifte det ud med

If Not (rs2.BOF Or rs2.EOF) Then

                       
            Do While Not rs2.EOF or rs2.BOF
           
            strID = rs2("id")
               
For t = 0 to Ubound(arrID1)
    if Cstr(arrId1(t)) = Cstr(strID) then
    Match = "Yes"
    End if
Next
if Match = "Yes" then
    Response.Write "match"
end if

            Response.Write "<table border=""0"" cellspacing=""0"" width=""760"" cellpadding=""3"" >"
            Response.Write "<tr><td width=99% ><FONT FACE=""Verdana, Times New Roman"" SIZE=""2"" >" & "<a href="& rs2("www")&" TARGET=_blank>"& rs2("titel") &"</A> - " & rs2("description")&"<BR></FONT><FONT FACE=""Verdana, Times New Roman"" SIZE=""1"" ></FONT><hr>"
            Response.Write "</td></tr></table>"
            Response.Write "<br>"
           
              rs2.movenext
              Match = Nothing   
              loop   
           
           
Else
                Response.Write ""
End If
       
            Set rs2 = Nothing

-grunken
Avatar billede erikjacobsen Ekspert
14. marts 2003 - 07:38 #18
I dit oprindelige script, skal du sætte

  match=false

ind lige før

  For t = 0 to Ubound(arrID1)
Avatar billede mr.meincke Nybegynder
14. marts 2003 - 10:45 #19
Doh! Fandme flovt jeg ikke havde set det... Det er rigtigt hvad erikjacobsen siger... Sæt Match = False ind nedenunder "Do While Not rs2.EOF or rs2.BOF"
Avatar billede loukas Mester
16. marts 2003 - 16:04 #20
ja, det var vist det hele ;-)
Tak for hjælpen
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