ptolemy
17-12-2008, 07:48
Giúp sửa dùm lỗi phân trang trong ASP
Mình truy xuất dữ liệu từ SQL Server trogn ASP với đoạn mã như sau, nhưng khi Click vào Next để xem trang thứ 2 thì không nhận được data, Trong câu lệnh SQL:
rs_info.Open "Select * From tblcuoce10 where SDT_DI='" & NNDD & "'", sqlcon
Nếu mình thay biến NNDD bằng một giá trị thì xem các trang sau được. Do đó vấn đề là ở chổ:
NNDD="510"&Request.Form("ND") : không nhận được giá trị khi sang trang khác.
Mới nhập môn nên chưa biết cách xử lý vấn đề này, xin chỉ giúp , thanks
Đoạn mã:
Dim sqlcon, rs_info, page_size, page_count, current_page, qpage
dim SDT1, SDT2,TGG,thoigian,ngay
qpage = Request.QueryString("Page")
if qpage = "" then
qpage = 1
end if
Set sqlcon = Server.CreateObject("ADODB.Connection")
Set rs_info = Server.CreateObject("ADODB.Recordset")
page_size = 10
if request("page")= "" then
current_page = 1
else
current_page = CINT(request("page"))
end if
rs_info.Cursorlocation = 3
rs_info.PageSize = page_size
NNDD="510"&Request.Form("ND")
sqlcon.Provider="sqloledb"
sqlcon.Open "Server=10.51.152.46;Database=CUOCE10;UID=cuoce10;P WD=cuoce10;"
rs_info.Open "Select * From tblcuoce10 where SDT1='" & NNDD & "'", sqlcon
page_count = rs_info.pagecount
if 1 > current_page then
current_page = 1
end if
if current_page > page_count then
current_page = page_count
end if
<%
if rs_info.eof then
response.write "<center>There are no records in database <br> Please check back later</center>"
response.end
else
rs_info.absolutepage = current_page
Do while rs_info.absolutepage = current_page AND not rs_info.EOF
SDT1 = rs_info("SDT1")
SDT2 = rs_info("SDT2")
TGG = rs_info("TGG")
thoigian = rs_info("thoigian")
ngay = rs_info("ngay")
%>
<%
rs_info.movenext
Loop
end if
%>
Page <%=current_page%> of <%=Page_count%><br>
<%
If Current_Page > 1 Then
Response.Write "<a href=""viewnd.asp?Page="
response.write eval(qpage)-1
Response.Write """>" & "previous " &"</a>"
Else
response.write "previous "
End If
%>
<%
If Current_page < page_count then
response.write "<a href=""viewnd.asp?Page="
response.Write eval(qpage)+1
response.write """>" & "next" & "</a>" & " "
else
response.write "next" & " "
end if
%>
<%
rs_info.close
sqlcon.close
Set rs_info = Nothing
Set sqlcon = Nothing
%>
Mình truy xuất dữ liệu từ SQL Server trogn ASP với đoạn mã như sau, nhưng khi Click vào Next để xem trang thứ 2 thì không nhận được data, Trong câu lệnh SQL:
rs_info.Open "Select * From tblcuoce10 where SDT_DI='" & NNDD & "'", sqlcon
Nếu mình thay biến NNDD bằng một giá trị thì xem các trang sau được. Do đó vấn đề là ở chổ:
NNDD="510"&Request.Form("ND") : không nhận được giá trị khi sang trang khác.
Mới nhập môn nên chưa biết cách xử lý vấn đề này, xin chỉ giúp , thanks
Đoạn mã:
Dim sqlcon, rs_info, page_size, page_count, current_page, qpage
dim SDT1, SDT2,TGG,thoigian,ngay
qpage = Request.QueryString("Page")
if qpage = "" then
qpage = 1
end if
Set sqlcon = Server.CreateObject("ADODB.Connection")
Set rs_info = Server.CreateObject("ADODB.Recordset")
page_size = 10
if request("page")= "" then
current_page = 1
else
current_page = CINT(request("page"))
end if
rs_info.Cursorlocation = 3
rs_info.PageSize = page_size
NNDD="510"&Request.Form("ND")
sqlcon.Provider="sqloledb"
sqlcon.Open "Server=10.51.152.46;Database=CUOCE10;UID=cuoce10;P WD=cuoce10;"
rs_info.Open "Select * From tblcuoce10 where SDT1='" & NNDD & "'", sqlcon
page_count = rs_info.pagecount
if 1 > current_page then
current_page = 1
end if
if current_page > page_count then
current_page = page_count
end if
<%
if rs_info.eof then
response.write "<center>There are no records in database <br> Please check back later</center>"
response.end
else
rs_info.absolutepage = current_page
Do while rs_info.absolutepage = current_page AND not rs_info.EOF
SDT1 = rs_info("SDT1")
SDT2 = rs_info("SDT2")
TGG = rs_info("TGG")
thoigian = rs_info("thoigian")
ngay = rs_info("ngay")
%>
<%
rs_info.movenext
Loop
end if
%>
Page <%=current_page%> of <%=Page_count%><br>
<%
If Current_Page > 1 Then
Response.Write "<a href=""viewnd.asp?Page="
response.write eval(qpage)-1
Response.Write """>" & "previous " &"</a>"
Else
response.write "previous "
End If
%>
<%
If Current_page < page_count then
response.write "<a href=""viewnd.asp?Page="
response.Write eval(qpage)+1
response.write """>" & "next" & "</a>" & " "
else
response.write "next" & " "
end if
%>
<%
rs_info.close
sqlcon.close
Set rs_info = Nothing
Set sqlcon = Nothing
%>