PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : صفحه صفحه كردن ليست



aghaee
January 1st, 2011, 22:04
سلام
من يك صفحه طراحي كردم كه ليست يك جدول رو نشون ميده،‌ مشخصات كامل

حالا من ميخوام اين ليست رو صفحه به صفحه كنم

1. نام
2. نام دو
3. نام سه
4. نام چهار
5. نام پنج

صفحات: 1 - 2 - 3 - 4

ممنون ميشم راهنمايي كنيد

با تشكر

Rezash
January 1st, 2011, 22:13
براي اينكار ما در كوئري از LIMIT استفاده مي كنيم.
در يك كوئري تعداد كل سطرهاي موجود رو بگيريد و در يك متغير بذاريد.
با توجه به صفحه فعلي كه با متد مثلا GET ميگيريد و تعدادي كه در نظر داريد در هر صفحه نشون داده بشه اطلاعات صفحه دلخواه رو انتخاب كنيد.
مثلا در يك مثال ساده


$page = intval($_GET['page']);
$page = abs($page);
$result_per_page = 10;
$form = $page * $result_per_page;
$q = "SELECT * FROM `table` LIMIT $from, $result_per_page";

alavi71
January 1st, 2011, 23:00
لطفا كامل تر توضيح بديد

aghaee
January 1st, 2011, 23:22
منم نياز به توضيح بيشتر دارم

Rezash
January 2nd, 2011, 00:28
در ديتابيس 100 ركورد (مثلا يوزر) داريم.
قصد داريم در چند صفحه اطلاعات رو نشون بديم
در هر صفحه دوست داريم 10 كاربر رو نشون بديم => 100/10 يعني در كل 10 صفحه داريم ...
حالا فرض كنيد در صفحه 0 هستيم بايد يوزرهاي 0 تا 10 رو انتخاب كنيم.
يعني LIMIT 0,10
در صفحه بعدي هستيم
پس بايد از يوزر 10 تا 20 رو نشون بديم
در صفحه بعد از يوزر 20 تا 30
پس من ابتدا شماره صفحه رو گرفتم :

$page = intval($_GET['page']);
*intval = مقدار ورودي رو به صورت عدد تبديل مي كند و اگر كاربر رشته اي وارد كرده باشد 0 برگردانده ميشود ...
]);

$page = abs($page);
اگر عدد صفحه وارد شده منفي بود ، بايد مثبتش كنيم . كه abs ههمون قدر مطلق هست.
);
متغيري براي تعيين تعداد ركورد در صفحه :

$result_per_page = 10;
در صفحه جاري ، از كدام ركورد به بعد رو بايد نشون بديم ؟=> from

$form = $page * $result_per_page;
انتخاب :
;

$q = "SELECT * FROM `table` LIMIT $from, $result_per_page";
* اين مثال يك مورد ساده هست ، كه بعد از پياده سازي به مشكاتي بر ميخوريد ! (مثل شماره صفحه 0 ) ، ابتدا همين كد رو در برنامتون پياده كنيد و مشكلات رو بگيد تا گام به گام پيش بريم.

zagrosweb
January 3rd, 2011, 11:06
البته کلاس ها و توابعی اختصاصی برای این کار تو نت هست Welcome to the PHP Classes Repository - PHP Classes (http://www.phpclasses.org) را بگرد

aghaee
January 28th, 2011, 20:03
ممنون و متشكر

چطوري فيلد ها رو بر عكس كنيم؟ كه از آخر table صفحه بندي كنه

شماره آخر جدول توي اولين صفحه قرار بگيره

Rezash
January 28th, 2011, 20:12
سلام
خواهش مي كنم
مرتب سازي به صورت صعودي يا نزولي در كوري select


order by ASC
//or
order by DESC

aghaee
January 31st, 2011, 22:00
اینو کجا بنویسم؟ توی query نوشتم خطا داد

teztop
January 31st, 2011, 23:25
باید تعیین کنی که می خوای بر اساس چی مرتب بشه. id , name , یا هر چی
مثلا order by id ASC
//or
order by id DESC