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

الموضوع: سؤال عن كيفية عمل عدد المواضيع للقسم الرئيسي

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

    سؤال عن كيفية عمل عدد المواضيع للقسم الرئيسي



    السلام عليكم ورحمة اللة وبركاتة



    انا ببرمج سكربت فيه اقسام ومنتدي ومنتدي فرعي
    وانا عاوذ اعمل عدد المواضيع للمنتدي يعني اي موضوع يضاف للمنتدي الفرعي او المنتدي يحسب جميع المواضيع في المنتده كله مع العلم اني بعرف اعمل لكل منتدي عدد الموضيع بس اريد في المنتدي كله بالمنتديات الفرعيه فيه

    جزاكم الله الف خير





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com


  2. #2


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

    من هنا ألغيت الفكرة وأصبحت أحمل التصنيفات كلها في بافر
    وأتعامل مع البافر نفسه

    عموما الدالة في الأخر لخصتها في 7 سطور
    ولكن لو وضعتها لن تفعهما في الحقيقة كونها معقدة ولا أعتقد حد يفهمها سوي اللي كتبها كوني جعلتها معتمدة علي البرمجية نفسها





    __________________
    السيف أصدق أنباء من الكتب

  3. #3


    خذ وأتمني تفهمها هي بسيطة إن شاء الله

    كود PHP:
    // دالة تروح لها برقم تصنيف ترجع لك بمصفوفة فيها كل الأبهات لحد الرئيسي
            
    function get_all_parent_cat($parentcat)
            {
                global 
    $arabsbook;
                
                
    $this->load_catbuffer();
                    
                foreach ( 
    $arabsbook->catbuffer as $val )
                {
                    if (
    $val['catid'] == $parentcat)
                    {
                        if ( 
    $val['parentid'] )
                        {
                            
    $this->needed_update[] = $val['catid'];
                            
    $this->get_all_parent_cat($val['parentid']);
                        }
                        else
                            
    $this->needed_update[] = $val['catid'];
                    }
                }
                
                return 
    $this->needed_update;
            } 
    الدالة من برمجتي ولن أدرس فيها أية دوال خارجية

    $this->load_catbuffer();

    هي دالة في نفس الكلاس تحمل كل التصنيفات في البافر

    كود PHP:
    function load_catbuffer()
            {
                global 
    $arabsbook;
                
                if ( !
    $arabsbook->catbuffer )
                {
                    
    $arabsbook->mysql->select('*'"lib_category"''''"ORDER BY `order`");
                    
                    while ( 
    $myrow $arabsbook->mysql->fetch_row() )
                        
    $arabsbook->catbuffer[$myrow['catid']] = $myrow;
                }
            } 
    طبعا الشرط حتي لو كانت متحملة ما يعيد تحميلها مرة ثانية

    حمل كل التصنيفات فيها وستعود لك الدالة اللي فوق بمصفوفة فيها كل أبهات أي تصنيف تروح لها به
    حذ التصنيفات في المصفوفة ونفذ تعليمة سكول بالزيادة 1 مثلا أو أي رقم لحقل الملفات فيها كلها بنظام

    update `dd` set `tt`= 'gg' where `qq` in array

    array هي قوسين فيهم التصنيفات يعني هتحتاج تستخدم implode في المصفوفة

    فهمت حاجة :eek3:
    سأحاول التوضيح في وقت لاحق





    __________________
    السيف أصدق أنباء من الكتب

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


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

    من هنا ألغيت الفكرة وأصبحت أحمل التصنيفات كلها في بافر
    وأتعامل مع البافر نفسه

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





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

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


    خذ وأتمني تفهمها هي بسيطة إن شاء الله

    كود PHP:
    // دالة تروح لها برقم تصنيف ترجع لك بمصفوفة فيها كل الأبهات لحد الرئيسي
            
    function get_all_parent_cat($parentcat)
            {
                global 
    $arabsbook;
                
                
    $this->load_catbuffer();
                    
                foreach ( 
    $arabsbook->catbuffer as $val )
                {
                    if (
    $val['catid'] == $parentcat)
                    {
                        if ( 
    $val['parentid'] )
                        {
                            
    $this->needed_update[] = $val['catid'];
                            
    $this->get_all_parent_cat($val['parentid']);
                        }
                        else
                            
    $this->needed_update[] = $val['catid'];
                    }
                }
                
                return 
    $this->needed_update;
            } 
    الدالة من برمجتي ولن أدرس فيها أية دوال خارجية

    $this->load_catbuffer();

    هي دالة في نفس الكلاس تحمل كل التصنيفات في البافر

    كود PHP:
    function load_catbuffer()
            {
                global 
    $arabsbook;
                
                if ( !
    $arabsbook->catbuffer )
                {
                    
    $arabsbook->mysql->select('*'"lib_category"''''"ORDER BY `order`");
                    
                    while ( 
    $myrow $arabsbook->mysql->fetch_row() )
                        
    $arabsbook->catbuffer[$myrow['catid']] = $myrow;
                }
            } 
    طبعا الشرط حتي لو كانت متحملة ما يعيد تحميلها مرة ثانية

    حمل كل التصنيفات فيها وستعود لك الدالة اللي فوق بمصفوفة فيها كل أبهات أي تصنيف تروح لها به
    حذ التصنيفات في المصفوفة ونفذ تعليمة سكول بالزيادة 1 مثلا أو أي رقم لحقل الملفات فيها كلها بنظام

    update `dd` set `tt`= 'gg' where `qq` in array

    array هي قوسين فيهم التصنيفات يعني هتحتاج تستخدم implode في المصفوفة

    فهمت حاجة :eek3:
    سأحاول التوضيح في وقت لاحق
    هاحاول افهمها ان شاء الله





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  6. #6


    للتوضيح فقط
    catid هو رقم التصنيف
    parentid رقم التصنيف الأب

    $arabsbook->mysql->select تعليمة سكول نفذها أنت حسب ملف السكول او بشكل مباشر لديك

    if ( $val['parentid'] ) بعناها لو لم يكن لأب = 0 تنادي الدالة نفسها مرة أخري بعد تحديث مصفوفة التصنيفات
    لكن لو لم يتحقق أي الأب هو 0 بتم تزويد المصفوفة برقم الحالي والعودة ب return





    __________________
    السيف أصدق أنباء من الكتب





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

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

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