|  | 
	                
 
  
    |  |  
    | 
        
        อยากทราบวิธีแบ่งหน้าแบบGoogleค่ะเวลาsearchแล้วทำอย่างไรคะ     |  
    |  |  
 
              
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | Code (ASP) 
 <% Option Explicit %>
<html>
<head>
<title>ThaiCreate.Com ASP & Microsoft Access Tutorial</title>
</head>
<body>
<form name="frmSearch" method="get" action="<%=Request.ServerVariables("SCRIPT_NAME")%>">
  <table width="599" border="1">
    <tr>
      <th>Keyword
      <input name="txtKeyword" type="text" id="txtKeyword" value="<%=Request.QueryString("txtKeyword")%>">
      <input type="submit" value="Search"></th>
    </tr>
  </table>
</form>
<%
if Request.QueryString("txtKeyword") <> "" Then
	
	Dim Conn,strSQL,objRec,strKeyword
	strKeyword = Request.QueryString("txtKeyword")
	
	Set Conn = Server.Createobject("ADODB.Connection")
	Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("mydatabase.mdb"),"" , ""
	'*** Search By Name or Email ***'
	strSQL = "SELECT * FROM customer  "
	strSQL = strSQL & "WHERE (Name LIKE '%"& strKeyword &"%' "
	strSQL = strSQL & "or Email LIKE '%"& strKeyword &"%' ) "
	Set objRec = Server.CreateObject("ADODB.Recordset")
	objRec.Open strSQL, Conn, 1,3
	If objRec.EOF Then
		Response.write (" Not found record.")	
	Else
	Dim PageLen,PageNo,TotalRecord,TotalPage,No,intID
	PageLen = 2 
	PageNo = Request.QueryString("Page")
	if PageNo = "" Then PageNo = 1
	TotalRecord = objRec.RecordCount
	objRec.PageSize = PageLen
	TotalPage = objRec.PageCount
	objRec.AbsolutePage = PageNo
	%>
	<table width="600" border="1">
	  <tr>
		<th width="91"> <div align="center">CustomerID </div></th>
		<th width="98"> <div align="center">Name </div></th>
		<th width="198"> <div align="center">Email </div></th>
		<th width="97"> <div align="center">CountryCode </div></th>
		<th width="59"> <div align="center">Budget </div></th>
		<th width="71"> <div align="center">Used </div></th>
	  </tr>
<%
	No=1
	Do While Not objRec.EOF and No <= PageLen
%>
	  <tr>
		<td><div align="center"><%=objRec.Fields("CustomerID").Value%></div></td>
		<td><%=objRec.Fields("Name").Value%></td>
		<td><%=objRec.Fields("Email").Value%></td>
		<td><div align="center"><%=objRec.Fields("CountryCode").Value%></div></td>
		<td align="right"><%=objRec.Fields("Budget").Value%></td>
		<td align="right"><%=objRec.Fields("Used").Value%></td>
	  </tr>
<%
	No = No + 1
	objRec.MoveNext
	Loop
%>
	</table>
	Total : <%=TotalRecord%>  Page <%=PageNo%> All Page <%=TotalPage%>
	<% IF Cint(PageNo) > 1 then %>
	<a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=1"><< First</a> 
	<a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=PageNo-1%>">< Back</a>
	<% End IF%>
	<% IF Cint(PageNo) < TotalPage Then %>
	<a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=PageNo+1%>">Next ></a> 
	<a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=TotalPage%>">Last >></a>
	<% End IF%>
	<br>
	Go to
	<% For intID = 1 To TotalPage%>
	<% if intID = Cint(PageNo) Then%>
	<b><%=intID%></b>
	<%Else%>
	<a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=intID%>"><%=intID%></a>
	<%End IF%>
	<%Next%>
	<%
	objRec.Close()
	Conn.Close()
	Set objRec = Nothing
	Set Conn = Nothing
	End IF
	End IF
%>
</body>
</html>
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-05-17 21:07:31 | By :
                            webmaster |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ขอบคุรค่ะแต่ว่าหนูต้องการ 
 ต้องการ search แบบ and,or ค่ะ
 
 ต้องการ search แบบ and,or ค่ะโดยให้แบ่งออกเป้นหน้าละ10 โดยไม่ออกมาทั้งหมดแบบ google
 แบบ code อันนี้ค่ะแต่ว่าแบ่งหน้าไม่ได้ค่ะมันจะ error
 <%
 
 Dim strURL
 Dim cnnSearch
 Dim rstSearch
 Dim strSQL
 Dim strSearch
 Dim arrTerms
 Dim strOperator
 Dim I
 
 strURL = Request.ServerVariables("URL")
 strSearch = Request.QueryString("search")
 
 If LCase(Request.QueryString("operator")) = "and" Then
 strOperator = "AND"
 Else
 strOperator = "OR"
 End If%>
 
 <form action="<%= strURL %>" method="get">
 <input name="search" value="<%= strSearch %>" />
 <select name="operator">
 <option value="or" <% If strOperator="OR" Then Response.Write(" selected=""selected""")%>>Any Term</option>
 <option value="and"<% If strOperator="AND" Then Response.Write(" selected=""selected""")%>>All Terms</option>
 </select>
 <input type="submit" />
 </form>
 
 <%
 if pageNo="" then pageNo = 1
 If strSearch <> "" Then
 Set cnnSearch = Server.CreateObject("ADODB.Connection")
 cnnSearch.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database.mdb") & ";"
 strSearch = Replace(strSearch, "'", "''")
 arrTerms = Split(strSearch, " ")
 strSQL = "SELECT * FROM sample WHERE "
 For I = LBound(arrTerms) to UBound(arrTerms)
 
 strSQL = strSQL & "( last_name LIKE '%" & arrTerms(I) & "%'"
 strSQL = strSQL & " OR first_name LIKE '%" & arrTerms(I) & "%')"
 
 If I < UBound(arrTerms) Then
 strSQL = strSQL & " " & strOperator & " "
 End If
 Next 'I
 strSQL = strSQL & " ORDER BY id desc;"
 Set rstSearch = cnnSearch.Execute(strSQL)
 %>
 
 
 <%Do While Not rstSearch.EOF %>
 <%= rstSearch.Fields("first_name").Value %>..........<%= rstSearch.Fields("last_name").Value %><br />
 <%= rstSearch.Fields("sales").Value %><br />
 
 <%
 rstSearch.MoveNext
 Loop
 rstSearch.Close
 Set rstSearch = Nothing
 cnnSearch.Close
 Set cnnSearch = Nothing
 %>
 
 ตาม code นี้จะsearch แบบ and , or ได้อย่างไรคะ
 แบ่งหน้าได้แต่เวลาค้นหามันไม่ครอบคลุมเหมือนเวลาเราใช้ code แรกที่สามารถเลือก and or ได้
 <% Option Explicit %>
 <html>
 <head>
 <title>ThaiCreate.Com ASP & Microsoft Access Tutorial</title>
 </head>
 <body>
 <form name="frmSearch" method="get" action="<%=Request.ServerVariables("SCRIPT_NAME")%>">
 <table width="599" border="1">
 <tr>
 <th>Keyword
 <input name="txtKeyword" type="text" id="txtKeyword" value="<%=Request.QueryString("txtKeyword")%>">
 <input type="submit" value="Search"></th>
 </tr>
 </table>
 </form>
 <%
 if Request.QueryString("txtKeyword") <> "" Then
 
 Dim Conn,strSQL,objRec,strKeyword
 strKeyword = Request.QueryString("txtKeyword")
 
 Set Conn = Server.Createobject("ADODB.Connection")
 Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("mydatabase.mdb"),"" , ""
 '*** Search By Name or Email ***'
 strSQL = "SELECT * FROM customer "
 strSQL = strSQL & "WHERE (Name LIKE '%"& strKeyword &"%' "
 strSQL = strSQL & "or Email LIKE '%"& strKeyword &"%' ) "
 Set objRec = Server.CreateObject("ADODB.Recordset")
 objRec.Open strSQL, Conn, 1,3
 
 If objRec.EOF Then
 Response.write (" Not found record.")
 Else
 
 Dim PageLen,PageNo,TotalRecord,TotalPage,No,intID
 PageLen = 2
 PageNo = Request.QueryString("Page")
 if PageNo = "" Then PageNo = 1
 TotalRecord = objRec.RecordCount
 objRec.PageSize = PageLen
 TotalPage = objRec.PageCount
 objRec.AbsolutePage = PageNo
 
 %>
 <table width="600" border="1">
 <tr>
 <th width="91"> <div align="center">CustomerID </div></th>
 <th width="98"> <div align="center">Name </div></th>
 <th width="198"> <div align="center">Email </div></th>
 <th width="97"> <div align="center">CountryCode </div></th>
 <th width="59"> <div align="center">Budget </div></th>
 <th width="71"> <div align="center">Used </div></th>
 </tr>
 <%
 No=1
 Do While Not objRec.EOF and No <= PageLen
 %>
 <tr>
 <td><div align="center"><%=objRec.Fields("CustomerID").Value%></div></td>
 <td><%=objRec.Fields("Name").Value%></td>
 <td><%=objRec.Fields("Email").Value%></td>
 <td><div align="center"><%=objRec.Fields("CountryCode").Value%></div></td>
 <td align="right"><%=objRec.Fields("Budget").Value%></td>
 <td align="right"><%=objRec.Fields("Used").Value%></td>
 </tr>
 <%
 No = No + 1
 objRec.MoveNext
 Loop
 %>
 </table>
 Total : <%=TotalRecord%> Page <%=PageNo%> All Page <%=TotalPage%>
 <% IF Cint(PageNo) > 1 then %>
 <a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=1"><< First</a>
 <a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=PageNo-1%>">< Back</a>
 <% End IF%>
 <% IF Cint(PageNo) < TotalPage Then %>
 <a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=PageNo+1%>">Next ></a>
 <a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=TotalPage%>">Last >></a>
 <% End IF%>
 <br>
 Go to
 <% For intID = 1 To TotalPage%>
 <% if intID = Cint(PageNo) Then%>
 <b><%=intID%></b>
 <%Else%>
 <a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=intID%>"><%=intID%></a>
 <%End IF%>
 <%Next%>
 <%
 objRec.Close()
 Conn.Close()
 Set objRec = Nothing
 Set Conn = Nothing
 
 End IF
 End IF
 %>
 </body>
 </html>
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-05-18 13:43:58 | By :
                            trat069 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | หรือว่าจะเอาโค้ดแบ่งหน้าของพี่มาใส่ในโค้ดอันแรกได้อย่างไรคะ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-05-18 14:20:02 | By :
                            trat069 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |