В вашем SQL вы можете добавить смещение LIMIT
SELECT PHONE, FAX, FIRM, ID FROM NNYBEA ORDER BY ID LIMIT 0,10 ' Results 1 to 10
SELECT PHONE, FAX, FIRM, ID FROM NNYBEA ORDER BY ID LIMIT 10,10 ' 11 - 20
SELECT PHONE, FAX, FIRM, ID FROM NNYBEA ORDER BY ID LIMIT 20,10 ' 21 - 30
...
Если вы используете MySQL, вы можете использовать ...
SELECT SQL_CALC_FOUND_ROWS PHONE, FAX, FIRM, ID FROM NNYBEA ORDER BY ID LIMIT 0,10
..., чтобы получить общее количестворезультатов и рассчитайте количество отображаемых ссылок на страницы:
(total_results/results_per_page) ' and round up.
Затем создайте ссылку на страницы под таблицей результатов и передайте номера страниц в виде строки запроса:
default.asp?page=1
default.asp?page=2
default.asp?page=3
...
В верхней части страницы должен быть код, который получает запрошенный номер страницы и вычисляет правильное значение смещения:
<%
Const results_per_page = 10
Dim limit_offset, page_num
limit_offset = 0 ' default
page_num = request.querystring("page")
if isNumeric(page_num) then
page_num = int(page_num)
if page_num > 0 then
limit_offset = (page_num-1)*results_per_page
else
page_num = 1 ' default
end if
else
page_num = 1 ' default
end if
%>
Наконец, примените смещение предела к вашему SQL:
cmdTemp.CommandText = "SELECT PHONE, FAX, FIRM, ID FROM NNYBEA ORDER BY ID LIMIT " & limit_offset & "," & results_per_page
Вы также можете использовать GetRows () для преобразования набора записей в двумерный массив и применения ограничения при цикле
Dim r, rs_loops, theData
theData = DataRangeHdr1.getRows()
rs_loops = page_num*results_per_page
if rs_loops > uBound(theData,2) then rs_loops = uBound(theData,2)
for r = limit_offset to rs_loops
' output data from the DataRangeHdr1 recordset
%>
<tr>
<td><p align="center"><%= theData(2,r) ' firm %></td>
<td><p align="center"><%= theData(0,r) ' phone %></td>
<td><p align="center"><%= theData(1,r) ' fax %></td>
</tr>
<%
next
Но это будет означать хранение большого количества невидимых данных в памяти.Использование смещения LIMIT в SQL будет иметь больше смысла.