Avatar billede thesphinx Nybegynder
11. januar 2005 - 21:48 Der er 5 kommentarer og
2 løsninger

Næste og forrige i asp & MySql

Jeg er ved at lave en frem og tilbage funktion til min side.
På forsiden kan jeg vælge et punkt som har et given id, jeg kommer derefter ind på en side hvor den trækker indholdet ud for id nummeret.
Jeg har så lavet en simpel frem og tilbage knap hvor jeg går ind og tæller alle poster i db'en og sætter den op imod min querystring. Alt afhængig af om jeg skal frem og tilbage har jeg lavet en simpel kode.
Meeen, ulempen ved denne kode er at den tager alt som er i den tabel, jeg vil gerne at jeg kan finde næste og forrige recordset udfra hvilken side den hører til. Lille eks.:

id    Side  Titel  Beskrivelse
1      1      bah      bøh
2      1      bah      bøh
3      1      bah      bøh
4      2      bah      bøh
5      1      bah      bøh
6      1      bah      bøh
7      2      bah      bøh

Dvs, hvis jeg har valgt at se alt fra side 2 vil jeg få 2 resultater og dem vil jeg gerne kunne gå frem og tilbage ved uden at tage dem fra side 1 med og omvendt.

Er der nogen der har et eksempel på det??

// thesphinx
Avatar billede thesurfer Nybegynder
11. januar 2005 - 22:12 #1
Din din querystring kan du bruge "&side=2" og på asp siden (eller "?side"):

dim s
s = CInt(request.querystring("side"))
if IsNumeric(s) then ' check om det faktisk ER et tal!

sql="select.... where side=" & s & "..."

...

end if


Hvordan ser din kode ud?
Avatar billede thesphinx Nybegynder
11. januar 2005 - 23:11 #2
Selve koden til frem og tilbage ser således ud:

<%
    Response.Write "<tr>"
        Response.Write "<td><a href=""#""><img src=""images/picbut45.png"" width=""90"" height=""25"" alt="""" /></a></td>"
        Response.Write "<td align=""right"">"
        If TutorialsID < 2 Then
        Response.Write "<img src=""images/picbut27.png"" />"
        Else
        Response.Write "<a href=""showresult.asp?TutorialsID="&rsTutorial("TutorialsID")-1&"""><img src=""images/picbut3.png"" /></a>"
        End If
        '---------------------------------------------------
        If TutorialsID + 1 > pagetotal Then
        Response.Write "<img src=""images/picbut29.png"" />"
        ElseIf pagetotal < TutorialsID Then
        Response.Write "<a href=""showresult.asp?TutorialsID="&rsTutorial("TutorialsID")+1&"""><img src=""images/picbut19.png"" /></a>"
        End If
        Response.Write "</td>"
    Response.Write "</tr>"
%>

og til at hente fra databasen:

<%
TutorialsID = Request.Querystring("TutorialsID")
Set rsTutorial = conn.execute("Select * From `TblTutorials` Where TutorialsID='" & TutorialsID & "'")
Titel = rsTutorial("Titel")
Set rsCount = conn.execute("SELECT COUNT(*) AS totalRows FROM TblTutorials")
pagetotal = rsCount("totalRows")
%>
Avatar billede kjulius Novice
11. januar 2005 - 23:59 #3
Hvis jeg ellers har tolket din kode rigtigt (og jeg indrømmer, at jeg langt fra er sikker på, at jeg har det!), så

1) Bør pagetotal vel indeholde antallet af forskellige TutorialIDs, hvilket medfører at din kode burde lyde:

...
Set rsCount = conn.execute("SELECT COUNT(DISTINCT TutorialsID) from TblTutorials")
...

2) Har du da vist vendt rundt på variablerne i sætningen

ElseIf pagetotal < TutorialsID Then

Okay, det var så mit bidrag :-)
Avatar billede kjulius Novice
12. januar 2005 - 00:01 #4
Korrektion:
...
Set rsCount = conn.execute("SELECT COUNT(DISTINCT TutorialsID) AS totalRows from TblTutorials")
...
Avatar billede thesphinx Nybegynder
12. januar 2005 - 12:27 #5
Okay..:)
Prøver lige at ændre lidt på min kode og så vender jeg tilbage hvis det ikke virker..
Avatar billede thesphinx Nybegynder
12. januar 2005 - 16:51 #6
// kjulius
Jeg kunne bruge lidt af din kode så du får et par point, men jeg har stadig ikke fået skidtet til at virke..:(
Avatar billede kjulius Novice
12. januar 2005 - 20:17 #7
Takker! Lidt har som bekendt også ret :-)

Håber du også finder ud af resten...
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