PDA

View Full Version : چگونه میشود گزارش گیریمونو در چند صفحه گذاشت؟



miladclik
سه شنبه 25 مهر 1385, 17:40 عصر
من یک فرم دارم مربوط به گزارش گیری از جدولم که حدود 100 ردیف داره می خوام این 100 ردیف رو به صورت 10 ردیف 10 ردیف نشان بدم باید چه کار کنم؟
ممنونم.

tabib_m
سه شنبه 25 مهر 1385, 19:57 عصر
if(!$page) $page=1;

$from=($page-1)*10



.... limit $from,10

miladclik
سه شنبه 25 مهر 1385, 22:26 عصر
می تونین کاملتر بگین.
یه مقدار بیشتر توضیح بدین ممنون می شم.
--------------------



if(!$page) $page=1;

$from=($page-1)*10



.... limit $from,10



. ممنون می شم اگه کاملتر بگین

tabib_m
سه شنبه 25 مهر 1385, 22:37 عصر
کافیه یک متغیر به نام $page (مثلا) به صفحه بفرستی ، و بعد بر اساس اون تعیین کنی که از چه رکوردی و به چه تعدادی رکورد نشون بده . دستور limit توی mysql برای همین کار در نظر گرفته شده.
بعد شماره های صفحه ها رو بر اساس این که کلا رکوردات چندان ، اون پایین بچین و به هر کدوم لینک همین صفحه رو بده با فرق این که متغیر page شون فرق کنه ، مثلا:


<a href="thisPageName.php?page=2"> 2 </a>

اگه هنوز هم مشکل داشتی ، بگو تا یک نمونه برات بذارم. ولی در کل پیشنهاد میکنم که خودت بنویسی.

miladclik
چهارشنبه 26 مهر 1385, 08:06 صبح
خیلی ممنونم.
فکر کنم متوجه شده باشم.
اگر مشکل داشتم مزاحمت میشم.
ممنونم.

miladclik
چهارشنبه 26 مهر 1385, 08:13 صبح
کافیه یک متغیر به نام $page (مثلا) به صفحه بفرستی ، و بعد بر اساس اون تعیین کنی که از چه رکوردی و به چه تعدادی رکورد نشون بده . دستور limit توی mysql برای همین کار در نظر گرفته شده.
بعد شماره های صفحه ها رو بر اساس این که کلا رکوردات چندان ، اون پایین بچین و به هر کدوم لینک همین صفحه رو بده با فرق این که متغیر page شون فرق کنه ، مثلا:


<a href="thisPageName.php?page=2"> 2 </a>

اگه هنوز هم مشکل داشتی ، بگو تا یک نمونه برات بذارم. ولی در کل پیشنهاد میکنم که خودت بنویسی.
limit کار for رو انجام میده؟

tabib_m
چهارشنبه 26 مهر 1385, 10:18 صبح
limit کار for رو انجام میده؟
کار for رو که انجام نمیده ، ولی از for میشه طوری استفاده کرد که کار limit رو انجام بده که اصلا هم توصیه نمیشه!!
limit فقط تعیین میکنه که از رکورد شماره ی فلان ، به تعداد فلان عدد رکورد نمایش بده.
در اینجا میشه ، از 0 ده تا ، از 10 ده تا ، از 20 ده تا و ...

موفق باشید.

mr-shahin
شنبه 07 بهمن 1385, 17:13 عصر
سلام .
اول از دوستای گلم تشکر کنم .. چون من این کد ها رو که می خوام بذارم با راهنمائی های شما نوشتم .
توضیح اینکه :
روش قبلی ارائه شده یه کم استاتیک بود و شما مجبور بودین شماره صفحه رو خودتون بذارین .. در صورتی که تو این کد ، شماره صفحات خودشون اضافه می شن ..
اگه سوالی بود بهم بگین تا جواب بدم .
موفق باشین .



$nr = "SELECT * from user";
$RESULT=mysql_query($nr);
$nnr=mysql_num_rows($RESULT);
$page=$_GET['page'];
if(!$page)
$q = "SELECT * from user";
else {
$from=($page-1)*10;
$q = "SELECT * from user order by id limit $from,10 "; }
$result=mysql_query($q);
$num=mysql_num_rows($result);
?>
<a href="page.php?page=0">نمایش کل رکورد ها</a><br>
صفحه :<?
$i=1;
$tr=$nnr;
$tp=$tr/10;
$tp=$tp+1;
while ($i<$tp)
{
print " <a href=\"page.php?page=$i\"> $i </a> ";
$i++;
}

Ehsan_php
چهارشنبه 25 بهمن 1385, 06:21 صبح
با سلام و تشکر.
من هم همین مشکل را دارم(یعنی می خواهم که نتایج جستجو رو توی یک صفحه و با لینک به همان صفحه نشان دهم مثله گوگل و ...) و می خواستم اگر میشه یک نمونه از آن رو برام بفرستید.
ممنون میشم.

Milad
چهارشنبه 25 بهمن 1385, 10:23 صبح
واسه اینی که شما می گید من از http://pear.php.net/package/Pager/ استفاده می کنم
البته باید بگم که این فقط کار درست کردن لینک رو انجام می ده و بقیه کارهای دیتابیس رو باید همونطور که دوستان گفتند انجام بدید