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

سینک کردن دیتابیس

Mir Unknown  11 سال پیش  11 سال پیش
+1 0

سلام

ایا امکان دانلود یک تیبل از رو سرور و گذاشتن ان روی دیتابیس وجود داره؟!

+3 0
بله ویدئوی note استاد رو ببیند واقعا عالی توضیح داده شده (11 سال پیش)
0 0
تو پروژه نت فقط اطلاعات از سرور خونده میشن سینک کردن در ویدیو نیست و اصلا از دیتابیس اسفاده نمیشه! (11 سال پیش)
+2 0
خب فرقی نداره ساختار کلی توضیح داده شده شما وقتی داده ها رو می خونین همزمان تو دیتابیس هم بریزینش (11 سال پیش)
0 0
میشه کل فیلد حتی اسمشم گرفتو ریخت تو دیتابیس؟! (11 سال پیش)
+2 0
شما یه دیتابیس شبیه همونی که توی وب دارین رو داخل sqlite بسازین بعدوقتی داده ها رو از وب گرفتین اینسرت کنید داخل جدول مربوطش و نیازی به گرفتت اسم فیلد نیست (11 سال پیش)
+3 0
منطقی نیست اینجوری همیشه باید دیتا دانلود بشه،چ جدید باشن چ قدیمی (11 سال پیش)
+2 0
خیر شما می تونید با استفاده از کوئری سمت سرور داده های جدید رو فقط اضافه کنید و نیازی نیست کله دیتا ها باز بروز رسانی بشن (11 سال پیش)
0 0
خب چطوری با چ دستوری؟! اگه ممکنه راهنمایی کنید (11 سال پیش)
+1 0
خب شما باید به دستورات SQL تسلط داشته باشین (11 سال پیش)
0 0
متاسفانه ندارم،یعنی یکم دارم اما واس همچین کاری نمیدونم چ دستوری و چطوری استفاده کنم و سوالو هم واس پیدا کردن همچین دستوری زدم،اگه اشنایی دارید ممنون میشم کمک کنید (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
کاشی زاده  11 سال پیش
+3 0

بهترین راه برای سینک دیتابیس سرور و کلاینت این هست که شما یک دیتابیس داخل کلاینت بسازید و درخواست سینک رو برای سرور بفرستید و اطلاعات رو به صورت Json از سرور بگیرید و بعد از دریافت کامل اطلاعات همه رو داخل دیتابیس کلاینتتون ذخیره کنید .

برای ذخیره سازی اطلاعات بر روی دیتابیس کلاینت هم قبلا آموزشش در این لینک قرار داده شده .

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

پاسخ به سوال 
EloMan  11 سال پیش
+4 0

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

 SELECT id FROM tablename ORDER BY column DESC LIMIT 1;
یا
 SELECT ID 
    FROM    TABLE
    WHERE   ID = (SELECT MAX(ID)  FROM TABLE);

 سپس در سمت سرور با استفاده از کد زیر id رو دریافت  کنید،  یک گزارش بگیرید و با کد json به سمت کلاینت ارسال کنید. 

 $id = $_POST['id'];
$result = mysql_query ("SELECT * FROM tableName WHERE id > '$id'");
$count = mysql_num_rows($result);
if($count > 0){
	$output = array();
	while($row = mysqli_fetch_array($count)) {
		$record = array();
		$record['item_id'] = $row['item_id'];
		همینطور بقیه رکوردهای جدول
		$output[] = $record;
	}
	echo json_encode($output);
}
else{
	echo '[{"report":"0"}]'; 
}

سمت کلاینت اطلاعات رو با ساخت نمونه جدیدی از کلاس ساختار پروژتون دریافت کنید و هربار در دیتابیس محلی درج کنید.

نکته اول اینکه توجه داشته باشید کد ها کامل نیستن و فقط مبحث گزارش گیری رو مد نظر قرار دادم. بقیه کدهای مربوط به ارسال و دریافت در پروژه های note و مارکت که استاد تدریس کردن موجود هست. و دوم اینکه بنده کدها رو تست نکردم و فقط روال کار رو نشون دادم و البته احتمال میدم راههای دیگه و شاید بهتر و سریعتر وجود داشته باشه.


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