webForumDet fria alternativet

Paging med MSSQL i forum

4 svar · 247 visningar · startad av addeweb

addewebMedlem sedan jan. 2004216 inlägg
#1

Jag håller på att göra iordning ett forum och tänker använda paging till det. Eftersom jag använder MSSQL
måste Jag istället använda frågan "SELECT TOP...." istället för LIMIT som finns hos MySQL.
Hur ska jag göra med variablerna $row_start och $row_max som finns i LIMIT-frågan så att de passar i TOP-frågan?
Det enda jag kan komma på är att ha $row_max i TOP-frågan. Det går inte att ha startvärdet med i samma fråga.
Hur löser jag det?

Med MySQL:
$query = mysql_query("SELECT * FROM forum WHERE ref_id = 0 ORDER BY datum DESC LIMIT ".$row_start.", ".$row_max."");

Med MSSQL:
$query2 = "SELECT TOP $row_max * FROM forum WHERE ref_id = 0 ORDER BY datum DESC";

Jag har också sett i SQL-forumet att det finns en SELECT-fråga
som har en subselect:

SELECT TOP 10 * FROM table where ID NOT IN (SELECT TOP 10 pk FROM table ORDER BY pk)

Vet inte om det går går att använda en sådan fråga eftersom övrig kod använder startvärde och maxvärde.

addewebMedlem sedan jan. 2004216 inlägg
#2

Jag vet att paging-frågan är lite uttjatad vid det här laget men ändå vill jag ha svar på mina frågor. Jag har också kollat närmare om paging här i forumet men svaren som finns var inte mycket till hjälp.

doggelitoMedlem sedan juni 20003 076 inlägg
#3

kolla här:
http://www.aspfaq.com/show.asp?id=2120

jag använder själv varianten som heter row count, funkar klockrent (med lite modifikation)! :)

addewebMedlem sedan jan. 2004216 inlägg
#4

Har kollat men jag är inte fena på ASP ännu. Får kolla row count på andra ställen också.

addewebMedlem sedan jan. 2004216 inlägg
#5

Har sett här någontans ang select-frågan SELECT TOP 10 * FROM table where ID NOT IN (SELECT TOP 10 pk FROM table ORDER BY pk) att maxvärdet kan läggas i SELECT-frågan medan startvärdet läggs in i subselect-frågan. Ska nog pröva det.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)