Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Sahifalash (Pagination) bo`yicha tavsiya bering

+2 ovoz
113 marta ko‘rilgan
so‘radi 19 sentabr, 17 parmonov98 (1,684 bal)
tahrirlandi 19 sentabr, 17 Saidolim
Sahifalash (Pagination) uchun kim qanday strukturani maqul ko`radi va foydalanadi?

Iloji bo`lsa, optimal  va funksional bo'lishi zarur.

1 ta javob

+2 ovoz
javob berdi 19 sentabr, 17 Saidolim (3,566 bal)

Sahifalash uchun 3 ta narsa kerak:

1. Barcha elementlar sonini oladigan funksiya kerak. Baza bilan ishlayotgan bo`lsangiz, count(*) ga o`xshash narsa.

2. Bitta sahifada nechta element bo`lishini soni. Masalan, 10, 25, 50 ,100. Buni konstanta qilsa ham bo`ladi. 

define('PER_PAGE',25);

3. Sahifalar soni 0 dan boshlanishi kerak. Shunda bazadan ma'lumotlarni olishda Limit va Offset ni ishlata olish uchun. Masalan, 2-sahifa uchun 25 ta ma'lumot olmoqchi bo`lsansiz, PAGE_NUMBER = 1 bo`ladi, shunda

OFFSET PER_PAGE * PAGE_NUMBER LIMIT PER_PAGE

Agar 1-sahifa bo`lsa va 25 tadan olmoqchi bo`lsangiz, 0 * 25 = 0 dan boshlab, 25 ta oladi
2-sahifada bo`lsa, 1 * 25 = 25 dan 25 ta. 

4. Berilgan sondan boshlab, ko`rsatilgan sonda elementlarni olish funksiyadi.

5. Endi Keyingi va Avvalgi degan sahifalar qoldi. Buning uchun JoriySahifa - 1 va JoriySahifa + 1 ni hisoblab, qo`yishingiz kerak bo`ladi.

6. Endi, agar sahifalar soni 100 ta bo`lsa, hamma 100 tani ko`rsatmisizku, shunga sahifalarni raqamlarini ko`rsatishni ham o`ylab ko`rishingiz kerak. Masalan, 55-sahifada turibsiz. Shunda quyidagicha variantlar bilan sahifalarni ko`rsatish mumkin:

<< [1] [2] [3] ... [53] [54] [55] [56] [57] .. [98] [99] [100] >>

<< [1] [2] [3] ... [40] [50]  [53] [54] [55] [56] [57] [60] [70] .. [98] [99] [100] >>

izoh qoldirdi 20 sentabr, 17 parmonov98 (1,684 bal)
javob ideal! thanks

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...