النتائج 1 إلى 8 من 8

الموضوع: استخدمت union للربط لكنها لم تنفع ممكن مساعدة

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Jul 2008
    المشاركات
    128

    استخدمت union للربط لكنها لم تنفع ممكن مساعدة



    السلام عليكم
    دايما عندما اسال سؤال تاتي الاجابة باني لم اسرد مشكلتي بشكل واضح لذلك قررت ان اسرد كل التفاصيل بدقة
    انا عندي قاعدة بيانات فيها جدول users
    id name pass
    وعندي جدول ثاني هو يحتوي الاصدقاء وطبعا يعتمد على id الي هو موجود ب users


    مفهوم الى الان
    الجدول الثاني فيه id1 username1 id2 username2
    id1 user name1 هو يعني الصديق الاول مثلا انت
    id2 username2 يعني الصديق الثاني مثلا انا
    طبعا انا خليت ايدي يوسر نيم حتى يصير اسرع ويقلل الاستعلام
    الاستعلام يشتغل بشكل سليم لكنه استعلامين

    كود PHP:
    $id =5;
    $article1 $mysql->query("select one ,first from frnds  where two = ".$id);
    while(
    $ar1 $mysql->fetch_array($article1)){
        
    $art1[] = $ar1;
    }

    $smarty->assign('art1'$art1);

    $article2 $mysql->query("select two ,scnd from frnds  where one = ".$id);
    while(
    $ar2 $mysql->fetch_array($article2)){
        
    $art2[] = $ar2;
    }
    echo 
    '<br><br><br>';
    array_unique;
    $smarty->assign('art2'$art2); 
    انا جربت union لكن لم تعمل معي اتصور لأنه نفس الجدول
    ف سؤالي هو كيف اربط استعلامين بنفس الجدول
    او اذا فيه استعلام واحد يكون افضل بكثير


    اخي لا تقل لم افهم لاني شرحت كل شئ تقريبا

    وشكرا





    الصور المرفقة الصور المرفقة  


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    كود PHP:
    select from frnds  where one $id OR two $id 






    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Jul 2008
    المشاركات
    128


    السلام عليكم
    اخي المصري انا شاكر جدا لك
    لكن هذا لا ينفع
    لانه يعود باستعلام كبير
    لان الاصدقاء هم في الاربع حقول مجتمعة و انا اريد ان اقلل الاستعلام ايضا
    ف انا استعلامي الذي كتبته مكون من استعلامين ويعمل بشكل جميل
    الغاية في سرعة الاستعلام وقلته لتخفيف الحمل عن قاعدة البيانات
    وشكرا على المشاركة
    انا جربت استعلامك ولكنه لا ينفع لان فيه تكرار كبير
    اذاممكن من الخبراء المساعدة
    مشكورين






  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Jun 2003
    المشاركات
    789


    اخى طريقك خطاً وستأثر عليك بالمستقبل، فيجب أن يكون هناك جدول يسمي relations و يكون شكل الجدول كتالي

    كود:
    ------------------------
    | userid | friendid |
    ------------------------
      1         |       2
    ------------------------
      1         |       3
    ------------------------
      1         |       10
    ويكون الاستعلام بهذا الشكل

    كود:
    select u.username FROM usersdb u, relations r WHERE userid = 1 AND r.friendid = u.user_id;
    فإستخدام OR او IN تسبب ضغط كبير على قاعده البيانات في حال وجود كثير من النتايج

    وطبعاً لا تنسي عمل INDEX على رقم العضو لتسرع عملية البحث





    التعديل الأخير تم بواسطة ArabCoders ; 18-06-2011 الساعة 09:25 PM
    __________________
    متى استعبدتم الناس وقد ولدتهم أمهاتهم أحرار........
    -----------------------------------
    شبكة الشعر الادبيه

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Jul 2008
    المشاركات
    128


    اخي ممكن الشرح






  6. #6
    عضو نشيط
    تاريخ التسجيل
    Jul 2008
    المشاركات
    128

  7. #7
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    هل جربتها بهذا الشكل؟
    كود PHP:


    $sql
    ="(select one ,first,two ,scnd from frnds  where two = ".$id.")union(select one ,first,two ,scnd from frnds  where one = ".$id.")";
    $article1 $mysql->query($sql);
    while(
    $ar1 $mysql->fetch_array($article1)){
        
    $art1[] = $ar1;







    التعديل الأخير تم بواسطة محمدهلال ; 30-06-2011 الساعة 04:49 AM
    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  8. #8
    عضو نشيط
    تاريخ التسجيل
    Jul 2008
    المشاركات
    128


    شكرا محمد هلال
    انا رجعت للاستعلام القديم حاليا
    و بالمستقبل سوف استخدم ما طرحه ArabCoders
    بعد ان امسح بعض الاشياء من الجدول
    وشكرا










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض