رفتن به مطلب
  • 0

روش صحیح گرفتن لایک در برنامه های آنلاین


arastooms

سوال

سلام به همه دوستان و اساتید عزیز 
با توجه به اینکه آموزش های زیادی در انجمن به صورت پراکنده هست و از روشهای مختلفی هم برای گرفتن لایک در برنامه های آنلاین استفاده شده 
می خاستم بدونم بهترین روش و استاندارد این کار به چه صورت هست 
با توجه به اینکه آموزش استاد عزیزم آقای ایزدی در انجمن هست و فکر میکنم بر اساس شماره سریال گوشی باشه که متوجه میشه کاربر لایک زده یا نه 
با این مشکل روبرو میشیم که کاربر اگر 2 تا دستگاه داشته باشه پس 2 بار میتونه لایک بزنه که درست نیست 

برای این منظور اومدم در دیتابیس آنلاین خودم برای هر کاربر یک کد درنظر گرفتم که به اینصورت اگر چند دستگاه داشته باشند فقط بتونن یک بار لایک یا دیس لایک کنند یک موضوع رو 
ولی روش پیاده سازی  این روش رو نمیدونم 

درواقع یک برنامه جک رو در نظر بگیرید
که جک ها قابلیت لایک دارن 
خوب یک جک رو شاید 100 نفر لایک کنند
وقتی تو برنامه جک ها رو از هاست میگیرم تعداد لایک ها رو میتونم نمایش بدم کار ساده ای هست 
ولی برای اون کاربری که قبلا لایک کرده باید دکمه ( لایک ) رنگی باشه!!! و بفهمه که قبلا این جک رو لایک کرده
یا ...

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ارسال‌های توصیه شده

سلام 
ممکنه بفرمایید شما از چه روشی در برنامه خودتون استفاده کردید؟
روشی که محمد عزیز گفت و یا روشی که من پیشنهاد دادم؟

در 21 ساعت قبل، miladhaerian گفته است :

درود

منظورتون رو گرفتم حرفتون درسته اما برای انلایک حتما باید شماره سریال حذف بشه:answercenter::give_rose:

 

در 21 ساعت قبل، miladhaerian گفته است :

درود

منظورتون رو گرفتم حرفتون درسته اما برای انلایک حتما باید شماره سریال حذف بشه:answercenter::give_rose:

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 1396/03/01, 10:37:56، arastooms گفته است :

سلام شهاب جان 
(( معلومه سرت شلوغه استاد )) قبلا پست های دیتابیس رو به ثانیه پاسخ میدادی ریسسسس ( :hi:) شوخی 

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

مشکل اینجاست نمیتونم داده ها رو از هر دو جدول بگیرم و بدم به برنامه (( از طرف هاست ))
ببین شهاب جان 
فرض کن الان یه کاربر قدیمی برنامه رو باز میکنه( که تو لاگین کد اختصاصی 1256 رو داره و برای همین یوزر هست))
برنامه بهش میگه صبر کن تا 100 تا لطیفه اول رو از دیتابیس آنلاین بگیره و نشونش بده 
خوب چی ارسال کنیم به هاست ( یه جیسون / شامل کد شناسایی کاربر=1256 / بعلاوه درخواست limit=100 / )
اینجا میریم در php میگیم برو تو جدول لطیفه ها و 100 تای اول رو برامون بفرست به برنامه که شامل ( شماره لطیفه /متن لطیفهاریخ نوشتنش / تعداد لایکش / + /اگر یوزر 1256 لایکش کرده برگردون true اگرنه false/)
..................................
حالا مشکل اینجاس که  /اگر یوزر لایکش کرده برگردون /  این پارامتر در یک دیتابیس دیگه به اسم لایک هست که بالاتر شرح دادم که متاسفانه این رو نمیدونم چه طور برگردونم؟؟؟
تا بتونم به دکمه لایک بگم روشن بمونه یا خاموش؟؟؟؟

شهاب جان ممنون میشم کمک کنی مرد بزرگ
درواقع تو php برگردوندن داده مشکل دارم الان که نمیتونم داده های لازم در 2 دیتابیس رو با هم ادغام کنم و بشه یه جیسون و بفرستم
الان قسمت سبز رو میفرستم به برنامه و قسمت قرمز رو نمیتونم بهش اضافه کنم درواقع دستور sql dh ... نمیدونم
مرسی

سلام،

ببینید دوست عزیز شما باید یک جدول به اسم tbl_likes داشته باشی و هر زمان که یک کاربر یک پست رو لایک میکنه یه رکورد به این جدول اضافه کنی شامل:

1) ایدی کاربر مورد نظر

2) ایدی پست مورد نظر

...

حالا برای اینکه ببینیم کاربر مورد نظر ما پست مورد نظر رو لایک کرده یا نه کافی هست که بیایم در جدول و بررسی کنیم که آیا چنین رکوردی وجود داره یا نه؟

$Userid = 1256;
$Postid= 12;
$IsLiked = mysqli_num_rows(mysqli_query($conn,"SELECT id FROM tbl_likes WHERE postid = '$Postid' AND userid = '$Userid'"));

if ($IsLiked > 0){
echo "post id liked";
}else{
echo "post id not liked";
}

در کد بالا بررسی میشه که آیا کاربر 1256 پست 12 رو لایک کرده یا خیر،من با mysqli به دیتابیس وصل شدم،اگه از mysql استفاده می کنید کدها یکم تغییر میکنه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 54 دقیقه قبل، arastooms گفته است :

ممکنه بفرمایید شما از چه روشی در برنامه خودتون استفاده کردید؟

من از روشی که خودم گفتم و شما گفتید استفاده کردم:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 9 ساعت قبل، miladhaerian گفته است :

من از روشی که خودم گفتم و شما گفتید استفاده کردم:53:

روش استانداردی که دوستمون فرمودند رو می تونید پیاده کنید؟
چون روشی که شما استفاده کردید اگر فرض کنیم یه پست مشترک رو 4000 نفر لایک کنند
کنترل اون یک نفر تو 4000 شماره سریال یا آیدی کاربری ساده نیست و حتما با خطا روبرو میشیم 
درسته ؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 27 دقیقه قبل، arastooms گفته است :

روش استانداردی که دوستمون فرمودند رو می تونید پیاده کنید؟
چون روشی که شما استفاده کردید اگر فرض کنیم یه پست مشترک رو 4000 نفر لایک کنند
کنترل اون یک نفر تو 4000 شماره سریال یا آیدی کاربری ساده نیست و حتما با خطا روبرو میشیم 
درسته ؟

 

درود

روش دوست عزیزمون بسیار خوب و کار آمد است درسته اگر 1000 تا سریال باشن صد در صد قاطی میکنه اما من فعلا نمیتونم اون روش رو پیاده سازی کنم اگه شما علاقه داشته باشید میتونید همین برنامه رو با تغییرات جزئی تغییر بدین

:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 1396/02/27, 12:10:32، محمد رشوند گفته است :

@arastooms @miladhaerian  سلام

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

سلام و درود به محمد راشدوند عزیز
من سعی کردم الوی شما رو پیاده سازی کنم و همه دیتابیس ها و جدولها طبق الگوی شما پیاده شد
ولی متاسفانه در دستور sql که در php سایت قرار دادم  موفق نمی شم داده ها رو درست برگردونم 

ممکنه با توجه به جدولی که فرمودید راهنمایی بفرمایید وقتی من (آیدی یا سریال کاربر رو به هاست میفرستم ) 
چه طور همه لطیفه ها رو بگیرم و اگر کاربر لایک زده اون رو روشن نشون بدم؟
من موفق میشم مقدار لایک و داده های سوال رو خوب برگردونم به برنامه با این دستورات
 

function get_data_jook($sql_offset,$user_id){
	$conn=connect();
	$sql="
	select 
		jook.matn,
		jook.like_count,
		likestable.like_type
	from 
		jook,
		liketable
	where 
		likes.type=1
		and
		likes.user_id=$user_id
		and
		likes.like_id=jook.id
	order by iran_consulate.id desc limit 20 offset $sql_offset";

	$result = $conn->query($sql);
	$rowcount_get_data_city=mysqli_num_rows($result);
	$emparray = array();
	while($row =mysqli_fetch_assoc($result))
	$emparray[] = $row;
	send_row_information($rowcount_get_data_city ,json_encode($emparray));
	$conn->close();
	
}	

خوب 
این فانکشن php میاد فقط پستهایی که کاربر لایک کرده رو نشون میده 
مثلا کلا در دیتابیس الان 300 تا جک هست
ولی 5 تایی که کاربر لایک کرده رو نشون میده
در صورتی که باید 300 تا ر نشون بده اون 5 تا رو هم لایکش رو بگه که لایک کرده !!!
ممنون میشم راهنمایی کنید

با تشکر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 17 ساعت قبل، arastooms گفته است :

سلام و درود به محمد راشدوند عزیز
من سعی کردم الوی شما رو پیاده سازی کنم و همه دیتابیس ها و جدولها طبق الگوی شما پیاده شد
ولی متاسفانه در دستور sql که در php سایت قرار دادم  موفق نمی شم داده ها رو درست برگردونم 

ممکنه با توجه به جدولی که فرمودید راهنمایی بفرمایید وقتی من (آیدی یا سریال کاربر رو به هاست میفرستم ) 
چه طور همه لطیفه ها رو بگیرم و اگر کاربر لایک زده اون رو روشن نشون بدم؟
من موفق میشم مقدار لایک و داده های سوال رو خوب برگردونم به برنامه با این دستورات
 


function get_data_jook($sql_offset,$user_id){
	$conn=connect();
	$sql="
	select 
		jook.matn,
		jook.like_count,
		likestable.like_type
	from 
		jook,
		liketable
	where 
		likes.type=1
		and
		likes.user_id=$user_id
		and
		likes.like_id=jook.id
	order by iran_consulate.id desc limit 20 offset $sql_offset";

	$result = $conn->query($sql);
	$rowcount_get_data_city=mysqli_num_rows($result);
	$emparray = array();
	while($row =mysqli_fetch_assoc($result))
	$emparray[] = $row;
	send_row_information($rowcount_get_data_city ,json_encode($emparray));
	$conn->close();
	
}	

خوب 
این فانکشن php میاد فقط پستهایی که کاربر لایک کرده رو نشون میده 
مثلا کلا در دیتابیس الان 300 تا جک هست
ولی 5 تایی که کاربر لایک کرده رو نشون میده
در صورتی که باید 300 تا ر نشون بده اون 5 تا رو هم لایکش رو بگه که لایک کرده !!!
ممنون میشم راهنمایی کنید

با تشکر

درود:Laie_99:

چون ن زیاد با پی اچ پی اشنا نیستم نمیتونم کمکتون کنم فقط میتونم یکم توضیح بدم

وقتی برنامه اجرا شد و کاربر جدیدی روی لایک کلیک کرد باید در تیبل دوم یک رکورد با شماره ایدی پیامک و سریال کاربر و یک عدد یک اضافه بشه که نشانگر لایک کردنه و باید به تیبل اول به شماره ایدی پیامک رکورد لایک ها یک لایک اضافه بشه حالا اگر خواست انلایک کنه باید بره توی تیبل دوم شماره ایدی هایی که با شماره ایدی پیامک برابری میکنه رو پیدا کنه و بین اینها اونی رو انتخاب کنه شماره سریالش برابره با شماره سریال گوشی و اون عدد یک اون رکورد رو برابر 0 کنه و در تیبل اول یک لایک ا تعداد لایک های اون پیامک کم کنه

خوب تا اینجا یک مسئلس

قسمت دومش اینه که کسی که یک بار لایک و انلایک کرده اگه دوباره بخواد لایک کنه ما باید از ایجاد یک رکورد دیگه جلوگیری کنیم چون اون قبلا رکوردش توی تیبل ذخیره شده باید بگیم که برو اون شماره ایدی هایی که با شماره ایدی پیامک برابری میکنن رو پیداکن حالا اگر پیدا کردی بین اینها اونی رو انتخاب کن که شماره ریالش برابره با اون شماره سریالی که مال کاربره اگه پیدا کردی اون قسمت لایکش رو که برابر صفره به 1 تبدیل کن و برو تیبل اول یه دونه به تعداد لایک های پیامک ها اضاف کن و اگه پیدا نکردی در تیبل دوم یه رکورد با شماره ایدی پیامک و شماره سریال کاربر اضافه کن و عدد لایکش رو برار 1 قرار بده و برو تیبل اول یه دونه به تعداد لایک های پیامک اضافه کن

 

امیدوارم خوب توضیح داده باشم:53::yahoo:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 4 ساعت قبل، میلاد حائری گفته است :

درود:Laie_99:

چون ن زیاد با پی اچ پی اشنا نیستم نمیتونم کمکتون کنم فقط میتونم یکم توضیح بدم

وقتی برنامه اجرا شد و کاربر جدیدی روی لایک کلیک کرد باید در تیبل دوم یک رکورد با شماره ایدی پیامک و سریال کاربر و یک عدد یک اضافه بشه که نشانگر لایک کردنه و باید به تیبل اول به شماره ایدی پیامک رکورد لایک ها یک لایک اضافه بشه حالا اگر خواست انلایک کنه باید بره توی تیبل دوم شماره ایدی هایی که با شماره ایدی پیامک برابری میکنه رو پیدا کنه و بین اینها اونی رو انتخاب کنه شماره سریالش برابره با شماره سریال گوشی و اون عدد یک اون رکورد رو برابر 0 کنه و در تیبل اول یک لایک ا تعداد لایک های اون پیامک کم کنه

خوب تا اینجا یک مسئلس

قسمت دومش اینه که کسی که یک بار لایک و انلایک کرده اگه دوباره بخواد لایک کنه ما باید از ایجاد یک رکورد دیگه جلوگیری کنیم چون اون قبلا رکوردش توی تیبل ذخیره شده باید بگیم که برو اون شماره ایدی هایی که با شماره ایدی پیامک برابری میکنن رو پیداکن حالا اگر پیدا کردی بین اینها اونی رو انتخاب کن که شماره ریالش برابره با اون شماره سریالی که مال کاربره اگه پیدا کردی اون قسمت لایکش رو که برابر صفره به 1 تبدیل کن و برو تیبل اول یه دونه به تعداد لایک های پیامک ها اضاف کن و اگه پیدا نکردی در تیبل دوم یه رکورد با شماره ایدی پیامک و شماره سریال کاربر اضافه کن و عدد لایکش رو برار 1 قرار بده و برو تیبل اول یه دونه به تعداد لایک های پیامک اضافه کن

 

امیدوارم خوب توضیح داده باشم:53::yahoo:

سلام و درود به شما دوست عزیز 
کاملا کار های بالا رو انجام دادم 
الان تنها قسمتی که مشکله اینه که چه طوری اطلاعات رو به برنامه بفرستم بعد از ریفرش شدن لیست ویو
و یا دوباره باز شدن برنامه 

وقتی کار بر لایک و آنلایک ها رو زد و برنامه رو بست

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

که اگر پستی رو لایک کرده بود چراغ لایکش روشن باشه

این قسمت رو الان نمیتونم پیاده سازی کنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 39 دقیقه قبل، arastooms گفته است :

بعد از ریفرش شدن لیست ویو

ببخشد منظورتون کدوم لیست ویو

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام ارسطو جان

من به شخصه توی کارا، همیشه یه ثبت نام میذارم که طرف با ایمیل خودش وارد بشه 

یه جدول هم قرار میدم برای لایک ها که تموم لایک ها توش هست

این جدول یه یوزر ای دی داره و یه پست ای دی ، تاریخ و ساعت لایک هم بخوای میتونه داشته باشه

وقتی کاربر یه پست رو لایک میکنه ، چک میکنی که قبلا لایک شده یا نه(select id from tbl_like where user_id = 1 and post_id = 5 و بعد یه rowCount گرفتن)

اگر لایک نکرده بود، که ای دی شخص و پست رو قرار میدم ، اگرم لایک کرده بود که میگم لایک کردی، یا میگم دیس لایک کنه مثلا
بسته به سیاست برنامه 

اگر تو کد نویسی مشکلی داشتی مطرح کن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 15 ساعت قبل، میلاد حائری گفته است :

ببخشد منظورتون کدوم لیست ویو

سلام 
ببینید شما الان  2 تا جدول در دیتابیس دارید 
یکی اطلاعات جک ها و تعداد لایکش و ....
یکی هم جدول لایک یوزر های برنامه

حالا یه کاربر میاد و برنامه رو باز میکنه 

با جیسون اطلاعاتی به هاست ارسال میشه که شامل شماره سریال یا کد کاربری هست

و درخوایت میکنه که اطلاعات جک ها رو بگیره همراه با اطلا عات لایکها و به برنامه بفرسته

تا ما همه رو در یک لیست ویو یا مولتی پنل یا ..... به کاربر نشون بدیدم

این قسمت کد های php رو نمیتونم پیاده سازی کنم و از هر 2 جدول داده ها رو بگیرم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام میبخشید من این صفحه رو آوردم بالا به خدا اگه کارم گیر نبود اینکارو نمیکردم 

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 8 ساعت قبل، arastooms گفته است :

سلام 
ببینید شما الان  2 تا جدول در دیتابیس دارید 
یکی اطلاعات جک ها و تعداد لایکش و ....
یکی هم جدول لایک یوزر های برنامه

حالا یه کاربر میاد و برنامه رو باز میکنه 

با جیسون اطلاعاتی به هاست ارسال میشه که شامل شماره سریال یا کد کاربری هست

و درخوایت میکنه که اطلاعات جک ها رو بگیره همراه با اطلا عات لایکها و به برنامه بفرسته

تا ما همه رو در یک لیست ویو یا مولتی پنل یا ..... به کاربر نشون بدیدم

این قسمت کد های php رو نمیتونم پیاده سازی کنم و از هر 2 جدول داده ها رو بگیرم

دقیقا منم همین جا مشکل دارم و نمیتونم کمکتون کنم متاسفانه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 1396/03/05, 16:14:13، Crashday گفته است :

سلام،

ببینید دوست عزیز شما باید یک جدول به اسم tbl_likes داشته باشی و هر زمان که یک کاربر یک پست رو لایک میکنه یه رکورد به این جدول اضافه کنی شامل:

1) ایدی کاربر مورد نظر

2) ایدی پست مورد نظر

...

حالا برای اینکه ببینیم کاربر مورد نظر ما پست مورد نظر رو لایک کرده یا نه کافی هست که بیایم در جدول و بررسی کنیم که آیا چنین رکوردی وجود داره یا نه؟


$Userid = 1256;
$Postid= 12;
$IsLiked = mysqli_num_rows(mysqli_query($conn,"SELECT id FROM tbl_likes WHERE postid = '$Postid' AND userid = '$Userid'"));

if ($IsLiked > 0){
echo "post id liked";
}else{
echo "post id not liked";
}

در کد بالا بررسی میشه که آیا کاربر 1256 پست 12 رو لایک کرده یا خیر،من با mysqli به دیتابیس وصل شدم،اگه از mysql استفاده می کنید کدها یکم تغییر میکنه.

سلام و تشکر 
ولی این روش منطقی به نظر نمیرسه با داشتن 500 هزار کاربر که هر کدوم ممکنه 200 تا جک مختلف رو لایک کرده باشت یک دیتابیس نجومی به وجود میاد 
باید برای هر موضوع کسانی که لایک میکنند ثبت بشه فقط 
من هنوز کد جناب اسکندری عزیز رو تست نکردم 
بعد از تست پاسخ رو همینجا مینویسم 
 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام شهاب جان 
(( معلومه سرت شلوغه استاد )) قبلا پست های دیتابیس رو به ثانیه پاسخ میدادی ریسسسس ( :hi:) شوخی 

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

مشکل اینجاست نمیتونم داده ها رو از هر دو جدول بگیرم و بدم به برنامه (( از طرف هاست ))
ببین شهاب جان 
فرض کن الان یه کاربر قدیمی برنامه رو باز میکنه( که تو لاگین کد اختصاصی 1256 رو داره و برای همین یوزر هست))
برنامه بهش میگه صبر کن تا 100 تا لطیفه اول رو از دیتابیس آنلاین بگیره و نشونش بده 
خوب چی ارسال کنیم به هاست ( یه جیسون / شامل کد شناسایی کاربر=1256 / بعلاوه درخواست limit=100 / )
اینجا میریم در php میگیم برو تو جدول لطیفه ها و 100 تای اول رو برامون بفرست به برنامه که شامل ( شماره لطیفه /متن لطیفهاریخ نوشتنش / تعداد لایکش / + /اگر یوزر 1256 لایکش کرده برگردون true اگرنه false/)
..................................
حالا مشکل اینجاس که  /اگر یوزر لایکش کرده برگردون /  این پارامتر در یک دیتابیس دیگه به اسم لایک هست که بالاتر شرح دادم که متاسفانه این رو نمیدونم چه طور برگردونم؟؟؟
تا بتونم به دکمه لایک بگم روشن بمونه یا خاموش؟؟؟؟

شهاب جان ممنون میشم کمک کنی مرد بزرگ
درواقع تو php برگردوندن داده مشکل دارم الان که نمیتونم داده های لازم در 2 دیتابیس رو با هم ادغام کنم و بشه یه جیسون و بفرستم
الان قسمت سبز رو میفرستم به برنامه و قسمت قرمز رو نمیتونم بهش اضافه کنم درواقع دستور sql dh ... نمیدونم
مرسی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

والا سرم شلوغ نیست ارسطو
یکم مشکلات شدید برام پیش اومده که اگر به لطف خدا حل بشه، سرم اونقدا هم شلوغ نیست اصن

ببین تو میای و یوزر طرف رو پست میکنی
و یه لیست 100 تایی برات میاد

حالا میخای این صد تارو ، طوری بگیری که مشخص شه یوزرت لایکشون کرده یا نه

جدول مثلا tbl_post  , tbl_like

<?php
$user_id = $_POST["user_id"];
$result = $con->query("SELECT * FROM tbl_post Limit 100");
while($row = $result->fetch_assoc())
{
//inja begir har chi mikhay az tbl_post
//inam bara like
if($con->query("SELECT like_id from tbl_like where user_id = ".$user_id)->num_rows == 1)
{
//inja ham oon key Json ro true kon
}
}



?>

یه بررسی بکن عزیزم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 14 ساعت قبل، شهاب اسکندری گفته است :

والا سرم شلوغ نیست ارسطو
یکم مشکلات شدید برام پیش اومده که اگر به لطف خدا حل بشه، سرم اونقدا هم شلوغ نیست اصن

ببین تو میای و یوزر طرف رو پست میکنی
و یه لیست 100 تایی برات میاد

حالا میخای این صد تارو ، طوری بگیری که مشخص شه یوزرت لایکشون کرده یا نه

جدول مثلا tbl_post  , tbl_like


<?php
$user_id = $_POST["user_id"];
$result = $con->query("SELECT * FROM tbl_post Limit 100");
while($row = $result->fetch_assoc())
{
//inja begir har chi mikhay az tbl_post
//inam bara like
if($con->query("SELECT like_id from tbl_like where user_id = ".$user_id)->num_rows == 1)
{
//inja ham oon key Json ro true kon
}
}



?>

یه بررسی بکن عزیزم

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

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

//inja begir har chi mikhay az tbl_post
//inam bara like

ما چه طوری باید یه کوئری  بنویسیم که بتونیم داده های هر دو جدول رو با هم ارسال کنیم 

برای مثال کویری که به این صورت ارسال بشه

 

{id=1,text_jook="یهروز یه مرده خورد به یه نرده",like=156,user_like=false}
{id=2,text_jook="hسیبلاتنمکمنتالبیسظطزرذدئو.م",like=5,user_like=true}
{id=3,text_jook="شسیبلاتنمکخهعغفبیه",like=106,user_like=false}

شهاب جان ببین گزینه آخر در واقع میگه این کار بر جزو لایک کننده ها بوده یا نه 
اون رو نمیتونم بگیرم 
حالا اگر منظورم رو متوجه شدی که دعات میکنم مرد بزرگ اگر لطف کنی و راهنمایی کنی 
اگر هم نه من یه سمپل بنویسم بزاریم اینجا شما زحمت بکش اصلاح ش کن که برای آیندگان هم نیاز میشه و دعای خیری خریده باشی رفیق بزرگ
مرسی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 37 دقیقه قبل، arastooms گفته است :

سلام به همه دوستان و اساتید عزیز 
با توجه به اینکه آموزش های زیادی در انجمن به صورت پراکنده هست و از روشهای مختلفی هم برای گرفتن لایک در برنامه های آنلاین استفاده شده 
می خاستم بدونم بهترین روش و استاندارد این کار به چه صورت هست 
با توجه به اینکه آموزش استاد عزیزم آقای ایزدی در انجمن هست و فکر میکنم بر اساس شماره سریال گوشی باشه که متوجه میشه کاربر لایک زده یا نه 
با این مشکل روبرو میشیم که کاربر اگر 2 تا دستگاه داشته باشه پس 2 بار میتونه لایک بزنه که درست نیست 

برای این منظور اومدم در دیتابیس آنلاین خودم برای هر کاربر یک کد درنظر گرفتم که به اینصورت اگر چند دستگاه داشته باشند فقط بتونن یک بار لایک یا دیس لایک کنند یک موضوع رو 
ولی روش پیاده سازی  این روش رو نمیدونم 

درواقع یک برنامه جک رو در نظر بگیرید
که جک ها قابلیت لایک دارن 
خوب یک جک رو شاید 100 نفر لایک کنند
وقتی تو برنامه جک ها رو از هاست میگیرم تعداد لایک ها رو میتونم نمایش بدم کار ساده ای هست 
ولی برای اون کاربری که قبلا لایک کرده باید دکمه ( لایک ) رنگی باشه!!! و بفهمه که قبلا این جک رو لایک کرده
یا ...

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

درود

هربار که یک نفر لایک میکنه شماره سریالش توی دیتابیس ذخیره میشه خوب حالا باید رفرش کنیم و یه شرط پیاده سازی کنیم بگیم که

if coloumserial.contains(serial&"@") then 
btn1.color=blue
end if

خوب برای هر پیامک یک رکورد اضافه میشه که شامل کلوم های id,matn,like,serial است با هر بار لایک کاربر شماره سریالش توی این کلوم سریال اضافه میشه و از بقیه سریال های بقیه کاربران با مثلا یه @ جدا میشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

همون دعا هم نیاز دارم ممنونم♥

ببین میشه با خود کوئری نوشتن یه کارایی کرد، البته فکر میکنم
اما ما اینجا کوئری نمینویسیم

ما در اصل 2 تا سلکت ساده مینویسیم
بار کمی برای سرور ایجاد میشه چون فقط یه چک کردن هست و زمانی نمیبره
یه بررسی بکن کد زیرو

<?php
$user_id = $_POST["user_id"];
$result = $con->query("SELECT * FROM tbl_post Limit 100");
$myOut = array();
$isLiked = false;
while($row = $result->fetch_assoc())
{
$satr = array();
$satr['id'] = $row["id"];
$satr['content'] = $row["content"];
if($con->query("SELECT like_id from tbl_like where post_id = ".$row["id"]." AND user_id = ".$user_id)->num_rows == 1)
{
$isLiked = true;
}
$satr['liked'] = $isLiked;
$myOut[] = $satr;
}
echo json_encode($myOut);
?>

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 4 ساعت قبل، miladhaerian گفته است :

درود

هربار که یک نفر لایک میکنه شماره سریالش توی دیتابیس ذخیره میشه خوب حالا باید رفرش کنیم و یه شرط پیاده سازی کنیم بگیم که


if coloumserial.contains(serial&"@") then 
btn1.color=blue
end if

خوب برای هر پیامک یک رکورد اضافه میشه که شامل کلوم های id,matn,like,serial است با هر بار لایک کاربر شماره سریالش توی این کلوم سریال اضافه میشه و از بقیه سریال های بقیه کاربران با مثلا یه @ جدا میشه

سلام 
مرسی متوجه شدم که چه طور باید ذخیره بشه 
و وقتی آنلایک رو میزنه هم باید اون سریال رو حذف کنیم درسته ؟؟؟

این روش استاندارد این کار هست ؟
یعنی برنامه های استانداردی مثل فیسبوک یا شبکه های اجتماعی هم از این روش استفاده میکنند؟
و برنامه های لایک شده ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...