آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در استفاده از Recyclerview و دیتابیس انلاینRecyclerview

doost_fu  8 سال پیش  8 سال پیش
0 0

سلام
دوستان از طریق یه آموزش  Recyclerview در برنامم ساختم
اطلاعات از داخل جدول دیتابیس آنلاین از طریق یه کد رابط php دریافت میشه
الان همه چیز درست کار میکنه فقط مشکل اینجاست که اگه یه ایتم در جدول اضافه کنم داخل برنامه در اخر لیست قرار میگیره !
در حالی که باید اولین ایتم و در بالا قرار بگیره !

این موضوع باید در کدام قسمت پروژه بررسی کرد و راحش چیه ؟

ممنون

+1 0
چون اطلاعات از طریق سرور آنلاین دریافت می شوند باید از سمت سرور مرتب شده برای شما ارسال شوند و شما بتوانید داخل RecyclerView نشونش بدید، برای اینکار کافیه داخل کد php زمانی که select می کنید این کد رو بزنید: SELECT * FROM table ORDER BY table_id DESC . این کد خروجی به ترتیب خانه های id از بالاترین به پایین ترین خانه رو به شما میده و داخل لیستتون از آخرین داده وارد شده نشون میده. (8 سال پیش)
 برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال 
علیرضا کامکار  8 سال پیش
+1 0

سلام

اگه از List یا ArrayList و چیزهای از امسال این استفاده میکنید کافیه که موقع add کردن دیتا ذکر کنید که توی کدوم خونه از لیست قرارش بده. اینم کد که راحت تر متوجه بشید.

 listData.add(0, NewItem);
notifyItemInserted(0);

اگر هم میخواید بعد از اضافه شدن آیتم جدید اسکرول به سمت بالا بره باید کد زیر رو اضافه کنید.

smoothScrollToPosition(0);
پاسخ به سوال 
doost_fu  8 سال پیش
0 0

سلام و ممنون
من با کد php اشناییی زیادی ندارم
این کدی که معرفی کردید باید کجای کد پایین گذاشت و ایا به جای  table باید نام جدول خودم بزارم ؟ table_id چطور ؟

 SELECT * FROM table ORDER BY table_id DESC 

اگه میشه لطف کنید این کد تصحیح کنید ممنون :

if ($password=="1111"){
$sql_query="SELECT * FROM aaa";

SELECT * FROM aaa ORDER BY table_id DESC ;

$result=$connect->query($sql_query) or die ("Errorr:".mysql_error());
$response["data"]=array();
while ($menu=$result->fetch_assoc()){
array_push($response["data"],$menu);
}
echo json_encode($response);

+1 0
بله دقیقا بجای table از نام جدول خودتون و بجای table_id اولین ردیف جدول خودتون که AUTO_INCREMENT تعریفش کردید رو وارد می کنید. (8 سال پیش)
0 0
الان اولین ردیف من id هست که AUTO_INCREMENT تعریف کردم و به جای table_id نوشتم id ولی دیگه کلا برنامه کار نمیکنه! (8 سال پیش)
0 0
ممنون ولی طبق همین کد بالا اگه بخوام بنویسم به چه نحوی میشه ؟ (8 سال پیش)
+1 0
کد به این صورت نوشتم و مشکل حل شد : $sql_query="SELECT * FROM saipat ORDER BY id desc"; ممنون از همگی . (8 سال پیش)
+1 0
خیلی عالیه؛ دستورات sql در php بسیار راحت و روان بیان شده اند و بسیار کاربردی هستند و کار رو برای ما برنامه نویس های اندروید خیلی راحت کرده اند، با آرزوی موفقیت شما دوست عزیز (8 سال پیش)
پاسخ به سوال 
SaeiD-as  8 سال پیش
+1 0

در ابتدا دستور خواندن داده هاتون رو وارد می کنید به این صورت که میگید اگر پسورد وارد شده صحیح بود تابع شما رو انجام بده:

if ($password=="1111"){
 read();
}

بعد از اون تابع خواندن داده هاتون رو می نویسید:

function read(){
    $connection = connectToDataBase();//تابعی هست که استاد در آموزش هاشون استفاده کرده اند

    $result = mysqli_query($connection, "SELECT * FROM `table` ORDER BY `table_id` DESC");
    $output = array();
    while($row = mysqli_fetch_array($result)){
        $record = array();
        $record['table_id'] = $row['table_id'];//داده هایی که می خواهید در خروجی چاپ شوند رو وارد می کنید
        $record['table_name'] = $row['table_name'];//مانند این
        $output[] = $record;

    }
    echo json_encode($output);
    mysqli_close($connection);
}

در داخل تابع read میتونید بگید اگر result نال بود ارور چاپ کند و یا دستوری که مد نظرتون هست رو اجرا کند.

پاسخ به سوال 
doost_fu  8 سال پیش
0 0

دوستان برای دسته بندی مطالب دریافتی از جدول دیتابیس باید به ستون به عنوان دسته اضافه کنیم و موقع دریافت در برنامه از اون تشخیص بدیدم ؟
یا راه دیگه ای داره ؟

یه راهنمایی کلی یا یه آموزش برا این کار نیاز دارم .

ممنون


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