صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 17

موضوع: بدست آوردن دوستان دوستان

  1. #1
    کاربر اخراج شده
    تاریخ عضویت
    Dec 2019
    نوشته ها
    88
    تشکر تشکر کرده 
    34
    تشکر تشکر شده 
    21
    تشکر شده در
    20 پست

    پیش فرض بدست آوردن دوستان دوستان

    id Lastname uname fid
    1 ali Ali1 0
    2 reza Reza1 1
    3 ahmadi Ahmadi 2
    4 amir Amir1 1
    5 naser Naser1 2
    6 mohammad Mohammad1 1
    7 maryam Maryam1 6
    8 zahra Zahra1 1
    9 venos Venos1 10
    10 farhad Farhad1 1
    11 roshanak Roshanak1 1
    12 erfan Erfan1 11
    13 omid Omid1 11
    14 hassan Hassan1 11
    15 hossein Hossein1 1

    با سلام و تشکر از شما دوست عزیز
    ببیند ساختار جدول من اینطوری است بصورت مثال

    هر کدام از کاربرها fid کاربری هستند
    توی فریمورک yii با این دستور تعداد کاربرانی که با کاربر شماره یک در ارتباط هستند به این صورت مشخص می کنیم

    کد PHP:
    $fid Yii::app()->db->createCommand("select count(id) from all where fid=1)->queryScalar(); 
    به فرض ما جدولمون all است
    با این کد مشخص می شه چند نفر با fid=1 در ارتباط هستند که تعداد آنها 6 عدد است

    fid هر کدام از کاربران یک id است

    الان من می خوام بدونم چه تعداد id با این شش نفر در ارتباط هستند
    یعنی دوستان دوستان کاربر شماره 1
    ویرایش توسط Marshall : December 13th, 2019 در ساعت 02:54

  2. # ADS




     

  3. #2
    عضو انجمن sam_pontiac آواتار ها
    تاریخ عضویت
    Apr 2009
    نوشته ها
    180
    تشکر تشکر کرده 
    166
    تشکر تشکر شده 
    279
    تشکر شده در
    166 پست

    پیش فرض پاسخ : بدست آوردن دوستان دوستان

    نقل قول نوشته اصلی توسط Marshall نمایش پست ها
    با سلام
    اگه من ده تا دوست داشته باشم
    و هر کدام از دوستان من چند تا دوست داشته باشند که عددشون متغیر باشه
    من چطوری می تونم با query مشخص کنم دوستان دوستان من چند نفر هستند؟؟؟!
    تو دوست داری با دوست من که دوست داره با دوست تو دوست بشه دوست بشی؟

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

  4. #3
    کاربر اخراج شده
    تاریخ عضویت
    Dec 2019
    نوشته ها
    88
    تشکر تشکر کرده 
    34
    تشکر تشکر شده 
    21
    تشکر شده در
    20 پست

    پیش فرض پاسخ : بدست آوردن دوستان دوستان

    نقل قول نوشته اصلی توسط sam_pontiac نمایش پست ها
    تو دوست داری با دوست من که دوست داره با دوست تو دوست بشه دوست بشی؟

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

    با سلام
    ببنید مثلا توی دیتابیس چند نفر با من در ارتباط هستند (یعنی دوستان من هستند)
    الان اونهایی که با من هم در ارتباط هستند با تعدادی در ارتباط هستند
    مثل زیرمجموعه در ریاضی
    می خواهم بدونم اونهایی که با دوستان من در ارتباط هستند چند نفر هستند

    به صورت


    من با قادر و حسین و بهزاد

    بهزاد با محمد و علی

    حسین با امیر و ناصر
    و قادر هم با رضا
    می خواهم بدون تعداد اونهایی که با دوستان من در ارتباط هستند چند نفر هستند

  5. #4
    عضو انجمن sam_pontiac آواتار ها
    تاریخ عضویت
    Apr 2009
    نوشته ها
    180
    تشکر تشکر کرده 
    166
    تشکر تشکر شده 
    279
    تشکر شده در
    166 پست

    پیش فرض پاسخ : بدست آوردن دوستان دوستان

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

    id username friend_id
    1 shoma ,3,4,2
    2 ghader 1,9
    3 hosein 1,7,8
    4 behzad 1,5,6
    5 mohammad 4
    6 ali 4
    7 amir 3
    8 naser 3
    9 reza 2


    هر کدوم از دوستان در ستون friend_id ، بر اساس آیدی کاربریشون معلوم شده.
    شما کوئری میدین، که انتخاب کنه از جدول، بعد مقدار friend_id بصورت یک آرایه دریافت میشه.

    مثلا :

    کد:
    SELECT * FROM TABLE ORDER BY id DESC
    در یک حلقه while یا for خروجی میگیرید کوئری رو.
    مقدار friend_id رو دریافت میکنید، مثلا :

    کد:
    $friend_id = $result['friend_id];
    اکسپلود میکنید ( جداسازی آیدی‌ها ) ، مثلا :

    کد:
    $friends_id = explode(",",$friend_id);
    foreach($friends_id as $fid){
    // code baraye arzyabie inke un user dar ertebat ba shoma hast ya na, IF (agar bud) neshun bede, else, nothing !
    }
    میاید یا اون آرایه رو explode میکنید، یا در یک حلقه قرار میدید.
    میگید که هر جا id دوستان من، در لیست دوستان کاربران دیگه بود، اسمشون یا آیدیشون رو نمایش بده.
    همین.

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

  6. تعداد تشکر ها از sam_pontiac به دلیل پست مفید


  7. #5
    کاربر اخراج شده
    تاریخ عضویت
    Dec 2019
    نوشته ها
    88
    تشکر تشکر کرده 
    34
    تشکر تشکر شده 
    21
    تشکر شده در
    20 پست

    پیش فرض پاسخ : بدست آوردن دوستان دوستان

    id Lastname uname fid
    1 ali Ali1 0
    2 reza Reza1 1
    3 ahmadi Ahmadi 2
    4 amir Amir1 1
    5 naser Naser1 2
    6 mohammad Mohammad1 1
    7 maryam Maryam1 6
    8 zahra Zahra1 1
    9 venos Venos1 10
    10 farhad Farhad1 1
    11 roshanak Roshanak1 1
    12 erfan Erfan1 11
    13 omid Omid1 11
    14 hassan Hassan1 11
    15 hossein Hossein1 1

    با سلام و تشکر از شما دوست عزیز
    ببیند ساختار جدول من اینطوری است بصورت مثال

    هر کدام از کاربرها fid کاربری هستند
    توی فریمورک yii با این دستور تعداد کاربرانی که با کاربر شماره یک در ارتباط هستند به این صورت مشخص می کنیم

    کد PHP:
    $fid Yii::app()->db->createCommand("select count(id) from all where fid=1)->queryScalar(); 
    به فرض ما جدولمون all است
    با این کد مشخص می شه چند نفر با fid=1 در ارتباط هستند که تعداد آنها 6 عدد است

    fid هر کدام از کاربران یک id است

    الان من می خوام بدونم چه تعداد id با این شش نفر در ارتباط هستند
    یعنی دوستان دوستان کاربر شماره 1
    ویرایش توسط Marshall : December 12th, 2019 در ساعت 23:49

  8. #6
    عضو انجمن sam_pontiac آواتار ها
    تاریخ عضویت
    Apr 2009
    نوشته ها
    180
    تشکر تشکر کرده 
    166
    تشکر تشکر شده 
    279
    تشکر شده در
    166 پست

    پیش فرض پاسخ : بدست آوردن دوستان دوستان

    صحیح.
    count شمارش میکنه.
    شما مجموع رو اگر میخواید، با SUM امتحان کنید.
    کد:
    sum(id) from all
    آپدیت :

    یا :

    کد:
    $query = (new \yii\db\Query())->from('all');
    $sum = $query->where(['fid' => '1']);
    $sum = $query->sum('id');
    echo $sum;
    این sum جمع میبنده در کل.
    اطلاعات بیشتر هم الان پیدا کردم برای این نحوه کوئری ( البته yii 2 به بالا ) :

    https://www.yiiframework.com/doc/guide/2.0/en/db-query-builder


    مجدد ویرایش و آپدیت ( چند وقتی هست با yii کار نکردم ).
    میتونید از دیتا اکسس ( یا همون حالت پیش فرض کوئری yii ) هم استفاده کنید :

    مثلا :

    کد:
    $command = Yii::$app->db->createCommand("SELECT sum(id) FROM all WHERE fid='1'");
    $sum = $command->queryScalar();
    echo $sum;

    در آخر، حالا چرا yii framework ؟؟
    ویرایش توسط sam_pontiac : December 13th, 2019 در ساعت 00:09 دلیل: آپدیت

  9. تعداد تشکر ها از sam_pontiac به دلیل پست مفید


  10. #7
    کاربر اخراج شده
    تاریخ عضویت
    Dec 2019
    نوشته ها
    88
    تشکر تشکر کرده 
    34
    تشکر تشکر شده 
    21
    تشکر شده در
    20 پست

    پیش فرض پاسخ : بدست آوردن دوستان دوستان

    نقل قول نوشته اصلی توسط sam_pontiac نمایش پست ها
    صحیح.
    count شمارش میکنه.
    شما مجموع رو اگر میخواید، با SUM امتحان کنید.
    کد:
    sum(id) from all
    آپدیت :

    یا :

    کد:
    $query = (new \yii\db\Query())->from('all');
    $sum = $query->where(['fid' => '1']);
    $sum = $query->sum('id');
    echo $sum;
    این sum جمع میبنده در کل.
    اطلاعات بیشتر هم الان پیدا کردم برای این نحوه کوئری ( البته yii 2 به بالا ) :

    https://www.yiiframework.com/doc/guide/2.0/en/db-query-builder


    مجدد ویرایش و آپدیت ( چند وقتی هست با yii کار نکردم ).
    میتونید از دیتا اکسس ( یا همون حالت پیش فرض کوئری yii ) هم استفاده کنید :

    مثلا :

    کد:
    $command = Yii::$app->db->createCommand("SELECT sum(id) FROM all WHERE fid='1'");
    $sum = $command->queryScalar();
    echo $sum;

    در آخر، حالا چرا yii framework ؟؟

    خیلی ممنون از جوابتون
    sum
    fid ها رو با هم جمع می کنه من تعدادشون رو می خوام
    یعنی تعداد کاربرانی که با دوستان کاربر شماره یک در ارتباط هستند!
    count اینها رو می خوام که بدونم تعداد اینها چند نفر است

    sum تموم fid ها رو با هم جمع می کنه مثل عمل جمع در ماشین حساب

    من فقط تعدادشون رو میخوام :-)

    در آخر، حالا چرا yii framework ؟؟
    چون تازه با فریمورک yii آشنا شدم و خیلی ازش خوشم اومده
    ویرایش توسط Marshall : December 13th, 2019 در ساعت 00:16

  11. #8
    عضو انجمن sam_pontiac آواتار ها
    تاریخ عضویت
    Apr 2009
    نوشته ها
    180
    تشکر تشکر کرده 
    166
    تشکر تشکر شده 
    279
    تشکر شده در
    166 پست

    پیش فرض پاسخ : بدست آوردن دوستان دوستان

    نقل قول نوشته اصلی توسط Marshall نمایش پست ها
    خیلی ممنون از جوابتون
    sum
    fid ها رو با هم جمع می کنه من تعدادشون رو می خوام
    یعنی تعداد کاربرانی که با دوستان کاربر شماره یک در ارتباط هستند!
    count اینها رو می خوام که بدونم تعداد اینها چند نفر است



    چون تازه با فریمورک yii آشنا شدم و خیلی ازش خوشم اومده
    خواهش میکنم.
    خب از count استفاده کنید، خودتون هم اول اشاره کردید.
    کوئریش همین هست :

    کد:
    $query = (new \yii\db\Query())->from('all');
    $sum = $query->where(['fid' => '1']);
    $count = $query->count('id');
    echo $count;
    یا :

    کد:
    $command = Yii::$app->db->createCommand("SELECT count(id) FROM all WHERE fid='1'");
    $count = $command->queryScalar();
    echo $count;
    دقیقا همون کوئری‌های بالا، که به جای SUM من COUNT رو گذاشتم.
    یعنی میاد تعداد کاربرانی که در fid با هم مشترک هستند رو بر اساس id شمارش میکنه و نتیجه رو میده.

  12. تعداد تشکر ها از sam_pontiac به دلیل پست مفید


  13. #9
    کاربر اخراج شده
    تاریخ عضویت
    Dec 2019
    نوشته ها
    88
    تشکر تشکر کرده 
    34
    تشکر تشکر شده 
    21
    تشکر شده در
    20 پست

    پیش فرض پاسخ : بدست آوردن دوستان دوستان

    نقل قول نوشته اصلی توسط sam_pontiac نمایش پست ها
    خواهش میکنم.
    خب از count استفاده کنید، خودتون هم اول اشاره کردید.
    کوئریش همین هست :

    کد:
    $query = (new \yii\db\Query())->from('all');
    $sum = $query->where(['fid' => '1']);
    $count = $query->count('id');
    echo $count;
    یا :

    کد:
    $command = Yii::$app->db->createCommand("SELECT count(id) FROM all WHERE fid='1'");
    $count = $command->queryScalar();
    echo $count;
    دقیقا همون کوئری‌های بالا، که به جای SUM من COUNT رو گذاشتم.
    یعنی میاد تعداد کاربرانی که در fid با هم مشترک هستند رو بر اساس id شمارش میکنه و نتیجه رو میده.

    ببخشید شما رو هم زحمت دادم :-(

    نه این نیست این همون کوئری خودمه که تعداد اونهایی که با کاربر شماره 1 در ارتباط هستند رو میده که جوابش میشه 6

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

    مثل زیر مجموعه در ریاضی است

    کاربر شماره یک 6 زیر مجموعه دارد

    هر کدام از 6 کاربر زیر مجموعه شماره یک هم تعدادی زیر مجموعه دارند

    کاربر شماره 1 میشه سرستون مجموعه

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

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

    من تعداد این ها رو میخوام :-(

  14. #10
    عضو انجمن starting آواتار ها
    تاریخ عضویت
    Jul 2015
    محل سکونت
    6346cc631627632
    نوشته ها
    255
    تشکر تشکر کرده 
    612
    تشکر تشکر شده 
    371
    تشکر شده در
    245 پست

    پیش فرض پاسخ : بدست آوردن دوستان دوستان

    درود ببینید
    اگر شما اینو تازه دارید طراحی میکنید این ساختار اشتباست ( یعنی نیاز به چندین کوئری هست بستگی به نتیجه شاید صدها کوئری)

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

صفحه 1 از 2 12 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. درخواست کمک از دوستان
    توسط xmohammadx در انجمن مباحث دیگر
    پاسخ ها: 17
    آخرين نوشته: December 1st, 2016, 23:31
  2. پاسخ ها: 0
    آخرين نوشته: November 29th, 2014, 09:45
  3. در خواست كمك از دوستان
    توسط azita در انجمن PHPNUKE
    پاسخ ها: 2
    آخرين نوشته: June 7th, 2011, 11:11
  4. درخواست از دوستان
    توسط LoveLife در انجمن اسکریپت های دیگر
    پاسخ ها: 5
    آخرين نوشته: January 31st, 2010, 13:40

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •