|
|
|
รบกวนช่วยดูโค๊ดการค้นหาแล้วแบ่งเป็นหน้าๆ ASP ให้หน่อยครับ |
|
|
|
|
|
|
|
ผมมีอยู่สองเพจ เพจหนึ่งโชว์ข้อมูลทั้งหมดแล้วแบ่งออกเป็นหน้าๆ และทำการค้นหาข้อมูลจากเพจแรก
ไปโชว์ข้อมูลที่เพจที่สองและแบ่งข้อมูลเป็นหน้าๆ ข้อมูลแสดงตามที่คนหา และแบ่งเป็นหน้าๆ ตามที่ต้องการ
แต่ปัญหาติดที่ตรงพอคลิ๊กไปหน้า N ของเพจที่สอง จะกลับไปหน้า N ของเพจที่หนึ่ง
ผมแก้และเข้ามาดูกระทู้ที่นี่ ที่เหมือนๆ กันก็แก้ไม่ได้ จนปัญญาแล้วครับ เพราะพึ่งจับภาษา asp มาได้แค่สองอาทิตย์เอง
โดนจับให้เขียนครับ
โค๊ดเพจที่หนึ่ง
Code (ASP)
<%
pageLen = 12 //กำหนดจำนวนแต่ละหน้าที่ต้องการแสดงกี่ Reccord
pageNo = request.QueryString("pageNo")
if pageNo="" then pageNo = 1
Call OpenConnect(sql)
sql = "Select * From RESDETAIL_VIEW Where Res_ID >0"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open sql,Conn,1,3
Nrecord=RS.RecordCount
Rs.PageSize = pageLen
totalPage = Rs.PageCount
Rs.AbsolutePage = pageNo
If Rs.EOF Then%>
ไม่มีข้อมูลในตาราง !
<%Else%>
<table width="90%" border="0" align="center" cellpadding="0">
<tr>
<td colspan="7"><font size="3"><B>โครงการวิจัย</B></font></td>
<tr bgcolor="Silver">
<td width="50"><div align="center"><font size="2">ปีงบประมาณ</font></div></td>
<td width="1000"><div align="center"><font size="2">ประเภทโครงการ</font></div></td>
<td width="5000"><div align="center"><font size="2">ชื่อโครงการ</font></div></td>
<td width="1200"><div align="center"><font size="2">หัวหน้าโครงการ</font></div></td>
<td width="1000"><div align="center"><font size="2">แหล่งทุน</font></div></td></tr>
<%
recNo=1
Do While Not RS.EOF and recNo <= pageLen%>
<tr<% if color=0 then %> bgcolor=#eeeeee <% color=1
else%>bgcolor=#fefefe<% color=0 end if %>>
<td><div align="center"><font size="2"><%= Rs("Res_Budget_Year")%></font></div></td>
<td><font size="2"><%= Rs("TTyp_Type")%></font></td>
<td><font size="2"><%= Rs("Res_Name_th")%></font></td>
<td><font size="2"><%= Rs("Title_Faculty")&Rs("Th_Name")&" "&Rs("Th_Surname")%></font></td>
<td><font size="2"><%= Rs("TTSB_Name")%></font></td></tr>
<%
recNo=recNo+1
Rs.MoveNext
Loop
//rs.close : Set rs=Nothing
Rs.close
Set Rs=Nothing
Call CloseConnect %>
<% end if %>
<tr><td colspan="7"><br>
<p align="left"> <font color="#999999" size="2"><b>เลือกรูปแบบการค้นหา</b>
<input type="radio" name="Research" value="1" onClick="Show_List(this.value);" >
ปีงบประมาณ
<input type="radio" name="Research" value="2" onClick="Show_List(this.value);">
ประเภทโครงการ
<input type="radio" name="Research" value="3" onClick="Show_List(this.value);">
ชื่อโครงการ
<input type="radio" name="Research" value="4" onClick="Show_List(this.value);">
หัวหน้าโครงการ
<input type="radio" name="Research" value="5" onClick="Show_List(this.value);">
แหล่งทุน
<input type="radio" name="Research" value="6" onClick="Show_List(this.value);">
ปีงบประมาณ+หัวหน้าโครงการ
<input type="radio" name="Research" value="7" onClick="Show_List(this.value);">
ประเภทโครงการ+หัวหน้าโครงการ
<form name="form1" method="GET" action="budgetyear.asp" target="_blank">
<select name="select1" id="select_1" style="display:none" >
<option selected>กรุณาเลือกปีงบประมาณ</option>
<%
Call OpenConnect(sql)
sql="Select distinct Res_Budget_Year from RESDETAIL_VIEW Where Res_ID > 0"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open sql,Conn,1,3
%>
<%while Not Rs.EOF%>
<option value="<% =Rs("Res_Budget_Year")%>"><% =Rs("Res_Budget_Year")%></option>
<%Rs.MoveNext
wend
Rs.close
Set Rs=Nothing
Call CloseConnect
%>
</select>
<input type="submit" name="Submit1" value="ค้นหา" style="display:none">
</form>
<form name="form2" method="GET" action="typeresearch.asp" target="_blank">
<select name="select2" id="select_2" style="display:none" >
<option selected>กรุณาเลือกประเภทโครงการ</option>
<%
Call OpenConnect(sql)
sql="Select distinct TTyp_Type from RESDETAIL_VIEW Where Res_ID > 0"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open sql,Conn,1,3
%>
<%while Not Rs.EOF%>
<option value="<% =Rs("TTyp_Type")%>"><% =Rs("TTyp_Type")%></option>
<%Rs.MoveNext
wend
Rs.close
Set Rs=Nothing
Call CloseConnect
%>
</select>
<input type="submit" name="Submit2" value="ค้นหา" style="display:none">
</form>
<br><br>
จำนวน <b><%=Nrecord%></b> โครงการ<br>
ขณะนี้อยู่ที่หน้า <b><%=pageNo%></b> ในทั้งหมด <b><%=totalPage%></b> หน้า<br><br>
<% if cint(pageno) > 1 then %>
<a href="index.asp?pageNo=1">หน้าแรก</a> <a href="index.asp?pageNo=<%=pageNo-1%>">ย้อนกลับ</a>
<% end if
if cint(pageno) < totalPage then %>
<a href="index.asp?pageNo=<%=pageNo+1%>">หน้าต่อไป</a> <a href="index.asp?pageNo=<%=totalPage%>">หน้าสุดท้าย</a>
<% end if %>
<br><br>
กระโดดไปหน้า
<%for idx = 1 to totalPage %>
<a href="index.asp?pageNo=<%=idx%>">
<% if idx=cint(pageno) then%>
<b><%=idx%></b>
<%else %>
<%=idx%>
<%end if%>
</a>
<%
next%>
โค๊ดเพจที่สอง
Code (ASP)
<%
pageLen = 12 //กำหนดจำนวนแต่ละหน้าที่ต้องการแสดงกี่ Reccord
pageNo = Request.QueryString("pageNo")
if pageNo="" then
pageNo = 1
Else
pageNo=CInt(Request.QueryString("pageNo")) //ไม่แปลงจะเปรียบเทียบค่าไม่ได้
End If
Call OpenConnect(sql)
sql = "Select * From RESDETAIL_VIEW Where Res_Budget_Year Like '%" & Request.QueryString("select1") & "%'"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open sql,Conn,1,3
Nrecord=Rs.RecordCount
Rs.PageSize = pageLen
totalPage = Rs.PageCount
Rs.AbsolutePage = pageNo
If Rs.EOF Then%>
ไม่มีข้อมูลในตาราง !
<%Else%>
<table width="90%" border="0" align="center" cellpadding="0">
<tr>
<td colspan="7"><font size="3"><B>ผลการค้นหา</B></font></td>
<tr bgcolor="Silver">
<td width="50"><div align="center"><font size="2">ปีงบประมาณ</font></div></td>
<td width="1000"><div align="center"><font size="2">ประเภทโครงการ</font></div></td>
<td width="5000"><div align="center"><font size="2">ชื่อโครงการ</font></div></td>
<td width="200"><div align="center"><font size="2">คำนำหน้า</font></div></td>
<td width="500"><div align="center"><font size="2">ชื่อหัวหน้าโครงการ</font></div></td>
<td width="500"><div align="center"><font size="2">นามสกุล</font></div></td>
<td width="1000"><div align="center"><font size="2">แหล่งทุน</font></div></td></tr>
<%
recNo=1
Do While Not Rs.EOF and recNo <= pageLen%>
<tr<% if color=0 then %> bgcolor=#eeeeee <% color=1
else%>bgcolor=#fefefe<% color=0 end if %>>
<td><div align="center"><font size="2"><%= Rs("Res_Budget_Year")%></font></div></td>
<td><font size="2"><%= Rs("TTyp_Type")%></font></td>
<td><font size="2"><%= Rs("Res_Name_th")%></font></td>
<td><font size="2"><%= Rs("Title_Faculty")%></font></td>
<td><font size="2"><%= Rs("Th_Name")%></font></td>
<td><font size="2"><%= Rs("Th_Surname")%></font></td>
<td><font size="2"><%= Rs("TTSB_Name")%></font></td></tr>
<%
recNo=recNo+1
Rs.MoveNext
Loop
//rs.close : Set rs=Nothing
Rs.close
Set Rs=Nothing
Call CloseConnect %>
<% end if %>
<tr><td colspan="7">
<br><br>
<p align="left"> <font color="#999999" size="2">จำนวน <b><%=Nrecord%></b> โครงการ<br>
ขณะนี้อยู่ที่หน้า <b><%=pageNo%></b> ในทั้งหมด <b><%=totalPage%></b> หน้า<br><br>
<% if cint(pageno) > 1 then %>
<a href="budgetyear.asp?pageNo=1">หน้าแรก</a>
<a href="budgetyear.asp?pageNo=<%=pageNo-1%>">ย้อนกลับ</a>
<% end if
if cint(pageno) < totalPage then %>
<a href="budgetyear.asp?pageNo=<%=pageNo+1%>">หน้าต่อไป</a>
<a href="budgetyear.asp?pageNo=<%=totalPage%>">หน้าสุดท้าย</a>
<% end if %>
<br><br>
กระโดดไปหน้า
<%for idx = 1 to totalPage %>
<a href="budgetyear.asp?pageNo=<%=idx%>">
<% if idx=cint(pageno) then%>
<b><%=idx%></b>
<%else %>
<%=idx%>
<%end if%>
</a>
<%
next%>
ขอผู้รู้รบกวนช่วยดูให้นิดนะครับ
ขอขอบคุณล่วงหน้าครับ
Tag : ASP
|
|
|
|
|
|
Date :
2010-08-25 16:18:31 |
By :
nai |
View :
1235 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบ่งหน้าด้วย asp เขาใช้ rs.move recordIndex
สมมติ หน้านึงมี 10 record จะไปหน้า 3 ก็ (3 - 1) * 10
= rs.move 20
แล้วก็วนลูป rs.movenext ไปเรื่อยๆ ส่วนเงื่อนไขก็ check เอาเอง
วนลูป for ก็ได้แต่ห้ามเกิน eof
|
|
|
|
|
Date :
2010-08-25 16:50:15 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หรือครับ
แต่ทำไมเพจที่หนึ่งโชว์ข้อมูลเป็นหน้าและกดหน้า N ได้อ่ะครับ
ผมดูโค๊ดกระทู้ในเว็บนี้บางกระทู้
ผมคิดว่าปัญหาน่าจะอยู่ตรงเครื่องหมายคำถาม
ตอนลิงค์ไปหน้า N ของเพจที่สองตามโค๊ดข้างล่าง
ไม่รู้ผมคิดถูกหรือป่าว
ไงช่วยดูให้อีกทีนะครับ
ขอบคุณครับ
Code (ASP)
<% if cint(pageno) > 1 then %>
67.
68.<a href="budgetyear.asp?pageNo=1 ? ">หน้าแรก</a>
69.<a href="budgetyear.asp?pageNo=<%=pageNo-1%> ? ">ย้อนกลับ</a>
70.
71.<% end if
72.if cint(pageno) < totalPage then %>
73.
74.<a href="budgetyear.asp?pageNo=<%=pageNo+1%> ? ">หน้าต่อไป</a>
75.<a href="budgetyear.asp?pageNo=<%=totalPage%> ? ">หน้าสุดท้าย</a>
76.
77.<% end if %>
78.<br><br>
79.กระโดดไปหน้า
80.<%for idx = 1 to totalPage %>
81.<a href="budgetyear.asp?pageNo=<%=idx%> ? ">
82.<% if idx=cint(pageno) then%>
83.<b><%=idx%></b>
84.<%else %>
85.<%=idx%>
86.<%end if%>
87.</a>
88.<%
89.next%>
|
ประวัติการแก้ไข 2010-08-26 14:02:25
|
|
|
|
Date :
2010-08-26 14:01:03 |
By :
nai |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|