PDA

View Full Version : تکرار در Mysql



binyaft
چهارشنبه 18 اسفند 1389, 21:54 عصر
سلام دوستان

من با یه Query تعدادی پست رو برای کاربر لاگین کرده + اینکه اون کاربر پست رو لایک زده یا نه میکشم بیرون!

Query به صورت زیر هست



select * from `user_posts`,`user_likes` WHERE `user_posts`.`user-id`='$user_id' and `user_likes`.`post-id`=`user_posts`.`post-id`

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

کسی میدونه چطور باید حلش کرد!؟

ممنون :قلب::بوس:

king-net
چهارشنبه 18 اسفند 1389, 22:12 عصر
به نظر من لایک ها تو رو تو یه متغیر جداگونه بریز بعد یه count ازش بگیر یا میتونی تو همون دستور sql ازش count بگیری

shahriyar3
چهارشنبه 18 اسفند 1389, 22:16 عصر
يه فيلد بزار كه مشخص كنه لايك خورده يا نه از نوع بولين يعني اگر لايك خورده پست True اگه نه false .ميتوني هر باز بعد از لايك خوردن چك كني اگر مقدارش True بود ديگه مقداري نفرسته.
اون يكي رو هم استفاده كن براي كساني كه لايك زدن روش و آيدي هاشونو جمع كن

xoogle.ir
چهارشنبه 18 اسفند 1389, 23:28 عصر
از group by استفاده کن مشکلت حل میشه مثلا آخر کوئری این رو اضافه کن :


GROUP BY `user_likes`.`post-id`

اگه این نشد یه فیلد دیگه رو امتحان کن ولی مطمئنم با group by مشکلت حل میشه.

fcsooti
پنج شنبه 19 اسفند 1389, 00:04 صبح
از SELECT DISTINCT استفاده کن
select distinct from `user_posts`,`user_likes` WHERE `user_posts`.`user-id`='$user_id' and `user_likes`.`post-id`=`user_posts`.`post-id`