Avatar billede chrisrj Forsker
28. august 2002 - 11:29 Der er 18 kommentarer og
2 løsninger

Problemer med at tælle id

Jeg har et galleri, hvor hver bruger har sine billeder.

Mit problem er at "forrige" og "næste" knapperne bruger billedets id til at finde ud af, om man er nået til det sidste eller første billede.

Hvordan skal jeg lave det?

Her er noget af koden:

if Request.Querystring("strID")="" then
        strID="1"
    else
        strID=Request.Querystring("strID")
           
    end if   
   
    strAction1=strID-1   
    strAction2=strID+1
   
    Set rsDetail=Server.CreateObject("ADODB.Recordset")
    Set rsTot=Server.CreateObject("ADODB.Recordset")
   
rsDetail.Open "SELECT * FROM tblIMAGES where FID="&strID&" and brugerid="&Request.Querystring("brugerid")&"",conn,0,3
    rsTot.Open "SELECT count(*) as strTotal FROM tblIMAGES where brugerid="&bid&"",conn,0,3   

rsDetail.Fields("FID")

    strTotal = rsTot(0)   
    stridny = cint(strid)
    strtotalny = cint(strtotal)
    if strIDny=strTotalny then
        strEnd=true
    end if


og "forrige" knappen:

if strAction1<>0 then ' ================== Previous       
        strPrev="<a href=""index.asp?page=gallery.asp&strID="&strAction1&"&brugerid="&bid&""" title=""Forrige billede"">&lt; Previous</a>"
    else
        strPrev="<span class=""text5"">&lt; Previous</span>"
    end if


og "næste" knappen:

if strEnd=true then ' ====================== Next
        strNext="<span class=""text5"">Next &gt;</span>"
    else
        strNext="<a href=""index.asp?page=gallery.asp&strID="&strAction2&"&brugerid="&bid&""" title=""Næste billede"">Next &gt;</a>"       
    end if

Jeg håber det er nok...
Avatar billede medions Nybegynder
28. august 2002 - 11:41 #1
28. august 2002 - 11:53 #2
Jeg har ikke tid lige nu til at kigge på det, men får du ikke et godt svar så skal jeg nok hjælpe dig i aften når jeg kommer hjem.

Mvh
Insane
Avatar billede chrisrj Forsker
28. august 2002 - 11:57 #3
Den kommer med denne fejl:

Der blev brugt en ugyldig URL-adresse eller en fuldt kvalificeret absolut URL-adresse. Brug relative URL-adresser.
/test/index.asp, line 28

linie 28:

strID=Request.Querystring("strID")

url:

http://localhost/test/index.asp?page=gallery.asp&brugerid=1&page=1&strID=1
Avatar billede chrisrj Forsker
28. august 2002 - 12:02 #4
har dunden den fejl, nu siger den:

Det aktuelle postsæt understøtter ikke bogmærker. Det kan skyldes en begrænsning af provideren eller af den valgte markørtype.
/test/gallery.asp, line 46

linie 46:

        rsDetail.AbsolutePage = intPager
Avatar billede chrisrj Forsker
28. august 2002 - 12:23 #5
Er der virkelig ingen der har et bud på problemet??

Det haster sådan set lidt.... PLEASE.... :|
Avatar billede eagleeye Praktikant
28. august 2002 - 12:50 #6
Prøv at rette denne linie:
rsDetail.Open "SELECT * FROM tblIMAGES where FID="&strID&" and brugerid="&Request.Querystring("brugerid")&"",conn,0,3


Til:

rsDetail.Open "SELECT * FROM tblIMAGES where FID="&strID&" and brugerid="&Request.Querystring("brugerid")&"",conn,1
Avatar billede chrisrj Forsker
28. august 2002 - 12:56 #7
så kommer denne fejl:

Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.
/test/gallery.asp, line 81

linie 81:

strTitle=rsDetail.Fields("ALT")

Hvad betyder de tal der står efter "..,conn,..."?
Avatar billede eagleeye Praktikant
28. august 2002 - 13:01 #8
Det er cursor type og bookmark.. Det er forskellige måder man kan åbne sit recordset på. Man kan åbne som readonly eller så man kan rette i databasen, og så man kan få adgang til paging mm...

Det betyder rsDetails er tom dvs du har ikke nogle records i databasen som passer på den SQL du åbner med:

where FID="&strID&" and brugerid="&Request.Querystring("brugerid")&""
Avatar billede eagleeye Praktikant
28. august 2002 - 13:06 #9
men denne linie du har skrevet gør ikke noget:
rsDetail.Fields("FID")

Så den kan bare fjernes.
Avatar billede chrisrj Forsker
28. august 2002 - 13:25 #10
Jeg har fået det til at virke!!

Det var med medions' kode og dit forslag til conn

Jeg håber I er tilfredse med point delingen...

Takker mange gang!!
Avatar billede chrisrj Forsker
28. august 2002 - 13:29 #11
Øhh :-)

Der var jeg vist lidt for hurtig...
Avatar billede chrisrj Forsker
28. august 2002 - 13:29 #12
Der er ingen fejl, men billede nummer 2 ud af 2 bliver ikke vist?!?!
Avatar billede chrisrj Forsker
28. august 2002 - 13:30 #13
Eller retter sagt det sidste.
Avatar billede eagleeye Praktikant
28. august 2002 - 13:46 #14
Prøv at tjekke de forskellig loops du har om de evt tæller en for kort, det kunne det tyde på.
Avatar billede chrisrj Forsker
28. august 2002 - 13:51 #15
Jeg har sat en response.write ind hvor billede udskrives.

den ser sådan ud:

Response.Write "intpager " & intPager & " bid " & bid & " fid " & rs.Fields("FID")

dvs. den udskriver side id'et, bruger-id'et og billed-id'et.

Og de passer alle sammen...

vil du se koden, der er ikke så meget?
Avatar billede chrisrj Forsker
28. august 2002 - 15:27 #16
Er I løbet tør for ideer?

Det ville virkeligt være fedt hvis det kunne komme til at virke.
Avatar billede chrisrj Forsker
28. august 2002 - 15:28 #17
Der udloves extra points til den der kan løse problemet!!!
Avatar billede chrisrj Forsker
28. august 2002 - 15:30 #18
<%
    DBPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    DBPath = DBPath & Server.MapPath("../databaser/database.mdb")     Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open DBPath

    bid = Request.Querystring("brugerid")
    intPager = Request("pager")

    If not ((IsNumeric(intPager)) And (intPager < 1)) Then
    'If isNumeric(intPager) = False Or intPager < 1 Then
        intPage = 1
    End If

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM tblIMAGES where brugerid="&Request.Querystring("brugerid")&"",conn,1
'strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../databaser/database.mdb")
'rs.Open strSQL, strDSN, 1  strSQL
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 1
    rs.AbsolutePage = intPager
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    'Do While Not rs.EOF And intRecCount > 0
    Response.Write "intpager " & intPager & " bid " & bid & " fid " & rs.Fields("FID") & " img " & rs.Fields("IMAGE")
        Response.Write "<table align='center' width='400' border='0' cellspacing='0' cellpadding='10' bgcolor='#4682B4'><tr><td align='center'><table align='center' width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#4682B4'><tr><td align='right'>Side " & intPager & " af " & intPageCount & "</td></tr><tr><td align='center'><a href='detail.asp?strID="&rs.Fields("FID")&"&brugerid="&Request.Querystring("brugerid")&"' target='_new'><img src='images/"&rs.Fields("IMAGE")&"' width='"&rs.Fields("WIDTH")&"' height='"&rs.Fields("HEIGHT")&"' alt='"&rs.Fields("ALT")&"' border='0'></a><br>&nbsp;</td></tr><tr><td align='left'>" '</td></tr>

    'intRecCount = intRecCount - 1
    'rs.MoveNext
    'Loop
End If
rs.Close
Set rs = Nothing

Response.Write "Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=index.asp?page=gallery.asp&pager=" & intNum & "&brugerid=" & bid & ">" & intNum & "</a> "
Next

Response.Write ""
If Clng(intPager) > 1 Then
    Response.Write "<a href=index.asp?page=gallery.asp&pager=" & intPager - 1 & "&brugerid="&bid&">&lt;&lt;</a>"
Else
    Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"

If Clng(intPager) < Clng(intPageCount) Then
    Response.Write "<a href=index.asp?page=gallery.asp&pager=" & intPager + 1 & "&brugerid="&bid&">&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If
response.write "</td></tr></table></td></tr></table>"
%>
Avatar billede chrisrj Forsker
28. august 2002 - 15:58 #19
Mysteriet er løst...

Jeg er næsten for flov til at sige det...

Nå!!!

Det var fordi billederne ikke eksisterede... :-)
Avatar billede medions Nybegynder
28. august 2002 - 18:55 #20
Thx 4 Poinz

//>Rune
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