سلام دوستان خسته نباشید
ببخشید یه سایت ساختم که داخلش میشه موزیک رو گوش کرد و لایکش کرد
حالا بر اساس لایک میخوام موزیک ها رو از همدیگه جدا کنم و داخل دیتابیس بخش هاش اینجوریه :
نام موزیک - نام خواننده - فایل موزیک«برای آدرس دهی» - فایل کاور موزیک - لایک ها
خب حالا میخوام بر اساس لایک ده تا موزیک برتر رو جدا کنم میخواستم بدونم چجوریه ؟
مثلا ده تا موزیک برتر که بیشترین تعداد لایک رو دارن به عنوان موزیک برتر نمایش داده بشن.
میشه راهنمایی کنید چجوریه؟
ممنون .
@hesammousavi
سلام
کد زیر میتونه کمکتون کنه :
$sql = "SELECT * FROM `*****` ORDER BY `like` DESC";
$Musics = $conn->query($sql);
$int = 1;
foreach ($Musics as $item) {
if($int <= 10){
// سلکت کردن موزیک ها
}
++$int;
}
سلام یه تیبل دیگه تو دیتابیست میسازی و اسمش رو مثلا میزاری لایک ها که توش ایدی اهنگ و یوزر هست که رابطه چند به چند لاراول هست
Song Model
public function likes()
{
return $this->belongsToMany(User::class, 'likes');
}
User Model
public function liked()
{
return $this->belongsToMany(Song::class, 'likes');
}
$mostLikedSongs = Song::withCount('likes')->orderByDesc('likes_count')->take(10)->get();
خوب با چی کار میکنید ؟
لاراول ؟ php ؟ چی
اگه منظورتون اینه که بدون هیچ زبان بک اندی بیاید و سیتم لایک رو پیاده سازی کنید باید بدونید که نمیشه
سلام
کد زیر میتونه کمکتون کنه :
$sql = "SELECT * FROM `*****` ORDER BY `like` DESC";
$Musics = $conn->query($sql);
$int = 1;
foreach ($Musics as $item) {
if($int <= 10){
// سلکت کردن موزیک ها
}
++$int;
}
ممنون که به عنوان پاسخ برتر انتخاب کردید ...!
معمولا خیلی کار ها ، با یک تکه کد ساده حل میشه فقط باید خلاقیت به خرج بدید و این خلاقیت به مرور به دست خواهید آورد
@gomnam عزیز، خود mysql دستوری داره به نام limit و اگه اخر هر کوئری قرار بدی، برات 10 تا رو برمیگردونه، این کاری که شما کردی اگه 2000 تا موسیقی باشه، هر 2000 تا واکشی میشه و بعدش توی php سورت میکنه که اصلا عاقلانه نیست و باعث میشه هم سایت کند بشه و هم سرور down
$sql = "SELECT * FROM `*****` ORDER BY `like` DESC limit 10";
در نهایت پیشنهاد میکنم این مطلب رو بخونید:
https://www.mysqltutorial.org/mysql-limit.aspx
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟