View Full Version : صفحه بندی جستجو
taher_flash
پنج شنبه 05 خرداد 1384, 11:40 صبح
با سلام
بچه ها من میام از داخل بانک جستجو می کنم می خوام جواب از 5 تا که بیشتر میشه برا من صفحه بندی کنه مثل گوگل که جوابش به تعدادی که برسه پایینش می زنه
< 6 5 4 3 2 1 >
تو رو خدا سریع به من کمک برسونید :oops:
3nitro
پنج شنبه 05 خرداد 1384, 15:21 عصر
الگوریتم کار اینطوری هست که باید تعداد مطالب موجود در بانکتون رو تقسیم و بر اون تعدادی که میخواید نمایش داده بشه بکنید و با یک جمع کنید .
مثلا 34 تا مطلب دارید که میخواهید در هر صفحه 10 تا نشون داده بشه . خب خارج قسمت صحیح 34 بر 10 که سه هست نشون میده و با یک جمع میکنید پس چهار صفحه احتیاج دارید . در صفحه اول که loop خودتون رو به اندازه 10 بار تکرار می کنید . در صفحه دوم مثلا :
default.asp?page=2 باید مقدار page رو منهای یک کنید و ضربدر تعداد نمایش در صفحه کنید و به اندازه اون در رکورد های دیتابیس حرکت کنید بنابراین شما الان در رکورد شماره 10 هستید و از اونجا loop خودتون رو ده بار تکرار می کنید .
ادامه پیدا میکنه تا صفحه 4 که اونهم منهای یک میشه و در 10 ضرب میشه یعنی سی و به همون اندازه move می کنید . که چهار مطلب باقی مانده از 34 تا رو برای شما نمایش میده .
perpage=10
if request("page") <> "" then
moverecord = (request("page") - 1) * perpage
recordset.move(moverecord)
i=1
do while not recordset.eof and i=<10
i=i+1
recordset.movenext
loop
end if
حالا تهیه لیست تعداد صفحات مثل گوگل در زیر صفحه:
for i = 1 to recordset.recordcount\10+1
response.write "<a href=""default.asp?page=" & i & """>i</a>"
next i
البته کدم ممکنه چندان دقیق نباشه چون فکر کردم حتما خودتون هم سررشته ای از asp دارید اما الگوریتمش درسته . :موفق:
taher_flash
جمعه 06 خرداد 1384, 15:37 عصر
آقا من اینکارو می کنم ولی انجام نمیشه
یکم کارمو برات توضیح میدم
ببین تو بانک چند تا فیلد دارم
بعضی ها AutoNumber هاش عوض شده چون پاک کردم اضافه کردم
حالا یه صفحه دارم به نام Search.asp تو این صفحه بر اساس یه سری اطلاعات جستجو می کنم
Action Form من به صفحه Find.asp هست اینجا اطلاعات رو می آره و نمایش می ده حالا صفحه بندی که می کنم آخرین مقدار رکورد ست رو می فرستم به یه صفحه دیگه مثل m.asp و به اینجا که میرسه دیگه به نتیجه جستجوی من کار نداره هر چی تو بانک باشه به ترتیب میاره :cry: اگه میشه کمکم کن
3nitro
جمعه 06 خرداد 1384, 16:19 عصر
من حقیقتا مشکل شما رو نفهمیدم چیه . یعنی میخواین چه اتفاقی بیفته که نمی افته . اگه ممکنه کدتون رو اینجا بذارید یا کمی بیشتر توضیح بدید .
taher_flash
شنبه 07 خرداد 1384, 10:49 صبح
<% c=0
set ob=server.CreateObject("adodb.connection")
ob.open"provider=microsoft.jet.oledb.4.0;data source="&server.mappath("db/db1.mdb")&""
sql="select * from tlb1 where C25= 1 and (T1 LIKE '"&request.form("T1")&"%' and T2 lIKE '"&request.form("T2")&"%' and T7 LIKE '"&request.form("T7")&"%' and T4 LIKE '"&request.form("T4")&"%' and T5 like '"&request.form("T5")&"%' and T11 like '"&request.form("T11")&"%' and T9 like '"&request.form("T9")&"%' and T12 like '"&request.form("T12")&"%') or ((T3>="&request.form("T3")&" and T3<="&request.form("T3-1")&")) ORDER By T1 ASC"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,ob,3,3%>
<%do while not rs.eof
c=c+1
%>
&nbsp;
<table width="100%" border="1" align="center" cellpadding="1" cellspacing="1" bordercolor="#006600">
<tr>
<td width="72%" height="96" valign="middle"><div align="right"> ساخت : <%=rs("T1")%>
مدل : <%=rs("T2")%>
رنگ :<%=rs("T11")%>
نوع : <%=rs("T7")%>
قیمت : <%=rs("T3")%></div></td>
<td width="28%" valign="middle"> <%set ob1=server.CreateObject("adodb.connection")
ob1.open"provider=microsoft.jet.oledb.4.0;data source="&server.mappath("db/db1.mdb")&""
sql1="select * from tlbax where num= "&rs("id")&""
set rs1=server.CreateObject("adodb.recordset")
rs1.open sql1,ob1,3,3
if rs1.eof <> true then%><a href="viewcar.asp?id=<%=rs("id")%>&rabsdghd=234kl23489uadfnk23l"><img src="<%=rs1("ax")%>" width="94" height="94" border="1"></a>
<%else%><a href="viewcar.asp?id=<%=rs("id")%>&rabsdghd=234kl23489uadfnk23l">images/photo.gif</a>
<%end if%>
</td>
</tr>
</table><%rs.movenext
loop%>
أقا این کى برنامه من هست من اؤ بانک جستجو کرىم و نمایش میىه به من
منتها می خوام تا تعداد 5 تا نمایش بده بقیه اش در همین صفحه با استفاده از 1 2 3 4 5 6 و ... نمایش داده شود
حالا میشه شما همین کد رو برام با تقسیم بندی 5 تا عی نمایش بدید و برام درست کنیش؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.