بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

قسمت loadmore در لیست ویو(لطفا جواب بدین)

مدیریت گفتگو
Replobik 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام من سرچ کردم تو سایت ولی چیزی نفهمیدم لطفا یکی کامل توضیح بده

چجوری میشه برای لیست ویو که اطلاعاتش آنلاینه loadmore گذاشت تا برنامه از آیتم های زیاد کرش نکنه؟

لطفا واضح توضیح بدین ممنون میشم :)

نظرات

Replobik 11 سال پیش
کسی مثل همیشه کمک نمیکنه؟
Replobik 11 سال پیش
کسی مثل همیشه کمک نمیکنه؟
moin 11 سال پیش
سلام دوست من ، ایدم خامه یکم روش فکر کن به نظر من وقتی میخوای از سرور بخونی یعنی در قسمت PHP اونجا که دستور Select میذاری و درون while میگی while($row=mysqli_fetch_array($result)) به جای while از حلقه for استفاده کن با یه تعداد مشخص و این for زمانی اجرا بشه که تو در برنامه اندرویدت روی فلان دکمه کلیک کنی و البته به خاطر اینکه هر بار از اول دیتابیس شروع نکنه به خوندن ، متغیر شمارنده for ، آخرین مقدارش هر بار تو دیتابیس ذخیره کن ، یعنی فرض کن میخوای 10 تا 10 تا بخونی ، اول که در برنامه اندرویدت کلیک میکنی 10 تا میخونه ، بعد این 10 تو پایگاه داده ذخیره کن یعنی دفعه بعد از 10 تا 20 دیتابیست میخونه و همینطور الی آخر
کاشی زاده 11 سال پیش
میتونید از سیستم lazyLoading استفاده کنید که قبلا آموزشش رو داخل سایت درج کردم فقط باید کمی تغییر در UI بدید
mohsen.talk 11 سال پیش
مشکلش حل شد بهش گفتم تو php برای sql محدودیت بذاره و offset
mohsen.talk 11 سال پیش
مشکلش حل شد بهش گفتم تو php برای sql محدودیت بذاره و offset
moin 11 سال پیش
لطف میکنی کاملتر و شفاف تر بگی دوست من!

پاسخ‌ها 1

mohsen.talk 11 سال پیش

توی قسمت php این دستور رو میدی برای خوندن sql

 $sql = 'select * from task LIMIT '.$limit.' OFFSET '.$offset.'';

limit برای محدید کردن نمایش تعداد آیتمه offset هم برای اینه که بگی از چند به بعد رو نشون بده

بعد توی اندرویدت یه درخواست به سرور میفرستی تا برات لیست محدود شده رو نشون بده

بعد از هربار انجام اینکار تو اندروید تعداد offset و limit رو با اضافه کردن مقدار اونا به سرور میفرستی تا بهت تعداد بیشتری از آیتم ها رو نشون بده.

مشکل اینجاست که چطوری وقتی لیست به آخر رسید این کار رو بکنه.

نظرات

moin 11 سال پیش
چه جالب . تا حالا به این فرمت sql بر نخورده بودم . میتونیم یه if تو php بذاریم و ابتدا تعداد کل سطور با دستور row بدست بیاریم و دادخل if چک کنیم تا زمانیکه از این تعداد کمتر مساویه ...
mohsen.talk 11 سال پیش
فرض کنید 1000 تا آیتم دارید خب خیلی طول میکشه اگه بخوای کل آیتم ها رو یه جا لود کنی.
moin 11 سال پیش
نه لود نمی کنیم با دستور rowcount ( فرمت دقیقش یادم نیس ) فقط تعداد سطور بدست میاریم !
mohsen.talk 11 سال پیش
مشکل اینجاست به آخر لیست رسیدیم چطوری آیتم اضافه بشه
mohsen.talk 11 سال پیش
مشکل اینجاست به آخر لیست رسیدیم چطوری آیتم اضافه بشه
mohsen.talk 11 سال پیش
مشکل اینجاست به آخر لیست رسیدیم چطوری آیتم اضافه بشه
moin 11 سال پیش
خب این برای یه بار اجراست ، هربار که اجرا باشه ، تعداد سطور یا ایتمها ، حالا یا از پایگاه داده بروز میشه و ایتمهای تازه اضافه شده هم شمرده می شن یا از جایی که اطلاعات خونده میشه ، دفعه ی بعد اجرا شمرده میشن و بروز میشن

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .