Avatar billede rasmusr Nybegynder
13. februar 2002 - 18:47 Der er 19 kommentarer og
2 løsninger

25 ad gangen?

Hejsa

Problemet er at jeg skal have vist 25 poster på hver side. Således at man trykke på næste så kommer de næste 25 poster frem.

Min SQL sætning ser således ud:
SQL ="SELECT TOP 25 overskrift, id, karakter FROM anmeldelser " & where & " ORDER BY " & order & ""

Der bliver enten sorteret efter overskrift eller dato.
Så man kan ikke bare forsætte fra den ID posten fra forige side havde.

De første 25 poster er der ikke noget problem med. Men når man trykke på næste skal den jo vise de 25 næste, hvordan får jeg den til det???

Jeg kan ikke bruge LIMIT da det er MS SQL.
Avatar billede terry Ekspert
13. februar 2002 - 19:12 #1
SELECT TOP 25 will only give you the first 25 records it has nothing to do with how many you want to show at a time. Where are you viewig the result?
Avatar billede rasmusr Nybegynder
13. februar 2002 - 19:14 #2
Terry > Det er sådan at der kommer 25 poster frem på en side.
Neders på side er der så en knap der hedder "Næste" så man kommer ind på en "ny" side hvor de næste 25 poster kommer frem.
Avatar billede terry Ekspert
13. februar 2002 - 19:19 #3
Yes, but where are you viewing these 25 records, in Access, a VB program or somewhere else?
Avatar billede rasmusr Nybegynder
13. februar 2002 - 19:28 #4
Access
Avatar billede rasmusr Nybegynder
13. februar 2002 - 19:29 #5
Hov.
Det bliver trækket ud på en ASP side
Avatar billede terry Ekspert
13. februar 2002 - 19:34 #6
Is it an Access database OR SQL Server?

If you want to show 25 on each page then you select ALL records (NO TOP 25) and in your ASP you have program a loop which prints up to the first 25 (there may not be 25) and then if th ebutton gets pressed you print the next 25. You know where you are in the reocrdset and you just continue from there until EOF.!

In other words you have to program this yourself!
Avatar billede rasmusr Nybegynder
13. februar 2002 - 19:41 #7
Avatar billede terry Ekspert
13. februar 2002 - 19:51 #8
Rasmus>In you asp you get a recordset from the SQL SELECT you make You have to show the data from the first 25 records on the first page then IF the user presses the next button you show the NEXT 25 and if the user presses the previous button you go back.. You HAVE to program this no smart tricks are possible :o(

Do you understand?
Avatar billede terry Ekspert
13. februar 2002 - 19:52 #9
Oh! your WEB looks very nice :o)
Avatar billede rasmusr Nybegynder
13. februar 2002 - 20:06 #10
Hvis jeg brugte MYSQL kunne jeg lave følgende:

limit = " LIMIT request("start"),request("slut")"

SQL ="SELECT TOP 25 overskrift, id, karakter FROM anmeldelser " & where & " ORDER BY " & order & "" & limit & ""

Hvis du kan følge mig der?
Når den mulighed findes i MYSQL burde det vel være muligt på en på en ligende måde med MSSQL ?
Avatar billede rasmusr Nybegynder
13. februar 2002 - 20:08 #11
Hov. Sådan her kan man gøre i MY SQL *GG*

limit = " LIMIT " & request("start") & "," & request("slut") & ""
Avatar billede terry Ekspert
13. februar 2002 - 20:18 #12
well rasmuss there's your solution, change to MySQL!

Are we talking MS SQL or Access?
Avatar billede rasmusr Nybegynder
13. februar 2002 - 20:22 #13
Vi taler vidst Access. Sorry jeg kludre rundt i det.

Databasen er lavet i Access 2000
Avatar billede terry Ekspert
13. februar 2002 - 20:41 #14
rasmusr>there is NO alternative to LIMIT in Access 2000 or SQL Server for that matter that I know of!

I am quite sure that this will need programming.
Avatar billede rasmusr Nybegynder
13. februar 2002 - 20:43 #15
Øv bøv.
Så må jeg gå i krig med programmeringen.

Takker for hjælpen.
Avatar billede terry Ekspert
13. februar 2002 - 20:51 #16
Yes it's a hard world rasmus :o)
and thnaks for the points!
Avatar billede rasmusr Nybegynder
13. februar 2002 - 20:59 #17
Avatar billede terry Ekspert
13. februar 2002 - 21:10 #18
Very nice! didnt take long either! How did you do it?
Avatar billede rasmusr Nybegynder
13. februar 2002 - 21:19 #19
Må dette være et eksempel til folket.
Hæhæ med mindre det kan gøres bedre selfølgelig.

If request("sorter") = "" then
    where = " WHERE aktiv = true AND kategori_id = " & request("id")
    order = "dato, id DESC"
Elseif request("sorter") = "tal" then
      where = " WHERE overskrift LIKE '1%' OR overskrift LIKE '2%' OR overskrift LIKE '3%' OR overskrift LIKE '4%' OR overskrift LIKE '5%' OR overskrift LIKE '6%' OR overskrift LIKE '7%' OR overskrift LIKE '8%' OR overskrift LIKE '9%' AND aktiv = true AND kategori_id = " & request("id")
    order = "overskrift, id"
Else
      where = " WHERE overskrift LIKE '" & request("sorter") & "%' AND aktiv = true AND kategori_id = " & request("id")
    order = "overskrift, id"
End if
             
SQL ="SELECT overskrift, id, karakter FROM anmeldelser " & where & " ORDER BY " & order & ""
set rs = conn.execute(sql)
               
If request("start_ved") > 0 then
    tilbage = "<a href=""kategori.asp?id=" & request("id") & "&sorter=" & request("sorter") & "&start_ved=" & request("start_ved") - 25 & """>Tilbage</a>"
    for i = 1 to request("start_ved")
        rs.movenext
    next
End if
                     
If not rs.eof then
    i = 0
    Response.write("<tr bgcolor=""#999999"" class=""fed""><td><font color=""#FFFFFF"">Titel</font></td><td align=""right""><font color=""#FFFFFF"">Karakter</font></td></tr>")
    for t = 1 to 25
        if not rs.eof then
            i = i + 1
            Response.write("<tr><td><a href=""anmeldelse.asp?id=" & rs("id") & """>" & rs("overskrift") & "</a></td><td align=""right"">" & rs("karakter") & "</td></tr>")
            Response.write("<tr><td colspan=""2""><hr size=1 style=""color=#3399FF""></td></tr>")
            id = rs("id")
            rs.movenext
        End if
    next
    If i = 25 then
        Response.write("<tr><td>" & tilbage & "</td><td align=""right""><a href=""kategori.asp?id=" & request("id") & "&sorter=" & request("sorter") & "&start_ved=" & request("start_ved") + 25 & """>Næste</a></td></tr>")
    End if                           
    If i < 25 and request("start_ved") > 0 then
        Response.write("<tr><td>" & tilbage & "</td></tr>")
    End if                           
Else
    Response.write("<div align=""center"">Der er endnu ikke nogle anmeldelser i denne kategori, med forbogstavet: " & request("sorter") & "</div><br>")
End if
Avatar billede terry Ekspert
13. februar 2002 - 21:28 #20
well ASP isnt my HOT subject but I can dig out the important parts and it looks fine :o)
Avatar billede rasmusr Nybegynder
13. februar 2002 - 21:29 #21
Takker.
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
Computerworld tilbyder specialiserede kurser i database-management

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