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

الموضوع: كائن تعدد الصفحات المتقدم

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2000
    المشاركات
    998

    كائن تعدد الصفحات المتقدم



    كائن تعدد الصفحات المتقدم

    سبق أن طرح الأخ رفيع قبل مدة قصيرة كائناً لتعدد الصفحات، وحيث إن كائني يختلف فقد عرضته هنا لكي يستفيد منه الآخرون، وليس قصدي في هذا الطعن في الأخ رفيع وقدرته البرمجية، فهو أكفأ مني بشهادة برامجه المتميزة.

    وإنما ليتعرض القراء على اختلاف المبرمجين.

    مميزات هذا الكائن :

    أولا :

    أنه لا يظهر في الرابط سوى رقم الصفحة Page=1 وهلم جرا، عكس كثير من الكائنات التي تتطلب وضع بداية المدى

    ونهايته على شاكلة :

    start=10&offset=20&page=1

    لكن في هذا الكائن لا يظهر سوى رقم الصفحة ، وإذا كانت الصفحة هي الأولى فلا يظهر المتغير السابق

    ثانيا :

    أن الاستعلام من قاعدة البيانات خارج هذا الكائن، ولهذا لا تحتاج إلى تعديل أسماء الجداول والحقول.

    ثالثا :

    سهولة الاستخدام، فهو خالٍ من التعقيد للمستخدم

    رابعا :

    الخيارات المتعددة المتاحة ؛ حيث يمكنك استخدام هذا الكائن في برنامج واحد بصورة متعددة، بحيث تضع لكل صفحة

    خياراتها الخاصة ، وهذه الخيارات

    1) اختيار طباعة جملة : عرض النتائج من (1) إلى (5) من إجمالي (20)

    2) اختيار طباعة كلمتي : الأولى .... الأخيرة

    3) اختيار طباعة : عدد الصفحات (40)

    4) اختيار طباعة : الصفحة السابقة ... الصفحة التالية

    5) تحديد عدد الصفحات المعروضة

    6) اختيار بطباعة مدى النتائج نحو ( 1-10 ) (11-20 )

    انتهت المميزات

    طريقة الاستخدام :

    1) إدراج الكائن المرافق في الملف الأساس لبرنامجك، على سبيل المثال : main.php

    2) إنشاء الكائن عن طريق أمر

    كود PHP:
    $NP =new NextPrevPage
    3) عليك تحديد مدى العرض : LIMIT مثلا :

    كود PHP:
    $C_limit=20
    4) الاستعلام الأول من قاعدة البيانات، لتحديد عدد النتائج، على سبيل المثال

    كود:
    SELECT * FROM YOURTABLE
    WHERE id = '$id'
    حيث YOURTABLE هو اسم الجدول

    و id هو الرقم المراد جلب عدد نتائجه

    5) اجعل دالة تحديد عدد النتائج باسم

    كود PHP:
    $totalRecords 
    على سبيل المثال :
    كود PHP:
    $result mysql_query($query);
    $totalRecords mysql_num_rows($result); 
    6) أدرج هذه الأوامر :

    كود PHP:
    $page$NP->CheckPage($page);
    $sql$NP->SQLlimit($page,$C_limit);
    $SQL_limit$sql['SQL_LIMIT'];
    $r=$sql['ROW']; 
    7) في الاستعلام الثاني لجلب متغيرات الحقول من قاعدة البيانات استخدم المتغير
    كود PHP:
    $SQL_limit 
    على سبيل المثال

    كود PHP:
    SELECT    PM_opening_verse ,PM_nu_verse
    FROM 
    ".$prefix."_e4po_poemes
    WHERE PM_poet_id 
    ='21'
    ORDER BY BINARY PM_opening_verse
    limit $SQL_limit 
    8) في أثناء تكرار الحلقة المتغير
    كود PHP:
    $r 
    يشير إلى الرقم التسلسلي ، ولهذا تضع هذا السطر داخل حلقة التكرار :

    كود PHP:
    $r=$r+1
    ثم تضع المتغير السابق في خانة الرقم التسلسلي

    9) بعد انتهاء حلقة التكرار ، حدد المتغير التالي بالمتغيرات التي يحتوي عليها الرابط

    كود PHP:
    $action 
    على سبيل المثال :

    كود PHP:

    $action
    ="&name=me&order=A&linke=$link"
    10) ضع الأمر التالي

    كود PHP:
    $printnextprev$NP->SHOW ("S1-F1-P1-R1-

    4-T1"
    ,$page,$totalRecords,$C_limit,$action); 
    لطباعة تعدد الصفحات، والخيارات هي كما يلي :

    // S1-S0 * واحد = طباعة / صفر = لا شيء
    #لطباعة : عرض الصفحات من (1) إلى (10) من إجمالي (100)
    //F1- F0 * واحد = طباعة / صفر = لا شيء
    # لطباعة : الصفحة الأولى ... الصفحة الأخيرة
    //P1-P0
    # لطباعة عدد الصفحات
    //R1-R0
    # لطباعة : الصفحة السابقة - الصفحة التالية
    // N: عدد الصفحات المعروضة
    //T1=
    # طباعة أرقام النتائج بين قوسين نحو
    # (1-10) (11-20)

    تطبيق لهذا الكائن بالخيارات المتعددة

    http://www.toarab.ws/scripts/NextPrevPages.php

    كتبه الفقير إلى عفو ربه :

    عبد الرحمن بن ناصر السعيد
    صاحب موقع الشنكبوتية
    http://www.toarab.ws

    الكائن


    يتضمن الملف المضغوط المرافق ملفين :

    الأول : للكائن

    الثاني : تطبيق كامل، وهو ملف الصفحة المعروضة هنا للتطبيق


    ##########################################################
    # #
    # كائن تعدد الصفحات #
    # #
    # برمجة : عبد الرحمن بن ناصر السعيد #
    # صاحب موقع الشنكبوتية #
    # http://www.toarab.ws #
    # الإصدار الأول #
    # ababab90@yahoo.com #
    # فضلاً : هذا العمل استغرق الكثير من الوقت والجهد #
    # فلا تستخدمه في معصية من خلقك! #
    # ولا تحذف هذه الحقوق، والحساب يوم الحساب! #
    ##########################################################
    # #
    # تـــــحـــــــذيـــــر #
    # لا يسمح باستخدام هذا الكائن في البرامج التجارية #
    # إلا بعد تفاهم مع المبرمج #
    ##########################################################





    الملفات المرفقة الملفات المرفقة
    __________________
    لا تعاند من إذا قال فعل
    الشنكبوتية
    اللغة العربية سياج هويتنا
    عبد الرحمن غير متواجد حالياً


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2001
    المشاركات
    823


    جميل جدا أستاذنا الكبير عبدالرحمن

    بارك الله فيك
    وجهد جبار جدا ماشاء الله





    __________________
    يارب تهديني قبل لحظة الفوت ++ وتجزل ثوابي يا جزيل العطايا
    طريق التوبة II ذكرى II قلوب الأنقياء II صيد الفوائد IIمنابر الدعوة IIدعوة IIكلمات
    مهلا فقد يلد الأسى أفراحا ++ فالليل ينجب للحياة صباحا
    أبو الوليد غير متواجد حالياً

  3. #3
    عضو فعال جدا
    تاريخ التسجيل
    Feb 2002
    المشاركات
    2,289


    جزاك الله خيرا اخوي عبدالرحمن وفقك الله وعفا عنا وعنك





    المهمة9 غير متواجد حالياً



  4. شكر الله سعيك أستاذ عبد الرحمن ..

    حقيقة فئة مثل العسل .. لا ينقصها إلا شيء واحد وهو عدم إمكانية إخفاء أرقام الصفحات الكثيرة وعرض "..." وكل ما تقدم المستخدم تعرض له × صفحة من اليمين واليسار كما في فئة الأخ رفيع .. وليس كل الصفحات في آنٍ واحد .. أعتقد فهمت قصدي .. وجزاكم الله خيراً.





    فاعل خير غير متواجد حالياً

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2000
    المشاركات
    998


    شكرًا لكم


    الأخ فاعل خير :


    لم يغب عني هذا الأمر، ولو تأملت في الكائن لعلمت أني قد وضعت لك خيار عدد الصفحات المعروضة :

    في المميزات :

    5) تحديد عدد الصفحات المعروضة

    وهو في المتغير :


    كود PHP:

    $printnextprev
    $NP->SHOW ("S1-F1-P1-R1-

    4-T1"
    ,$page,$totalRecords,$C_limit,$action); 

    حيث إن 4 يعني عرض أربع صفحات، وتستيطع بهذا إخفاء الصفحات الكثيرة


    عموما

    هناك تعديل في الكائن :

    في السطر 278


    كود PHP:

    if ($isfirst && !empty($page)) { 

    يعدل إلى


    كود PHP:

    if ($isfirst $NumberOfPagesToShow && !empty($page)) { 

    وفي السطر 376

    كود PHP:

    if ($islast ) { 
    يعدل إلى

    كود PHP:

    if ($islast $NumberOfPagesToShow ) { 

    وهنا الملف المرافق بعد التعديل





    الملفات المرفقة الملفات المرفقة
    __________________
    لا تعاند من إذا قال فعل
    الشنكبوتية
    اللغة العربية سياج هويتنا
    عبد الرحمن غير متواجد حالياً



  6. لله درك يا شيخ .. الله يحفظك ويبارك فيك ويطول عمرك في طاعته ..





    فاعل خير غير متواجد حالياً



  7. ركبته بنجاح والحمد لله .. ولو ان الأخطاء المذكورة لم تصحح في الملف المرفق في المرة الثانية

    وهناك بعض الأخطاء الطفيفة .. منها كلمة: limte .. يجب أن تغير إلى كلمة limit لتعمل الفئة بشكل سليم بكل الخيارات.

    وجزاكم الله خيراً.





    فاعل خير غير متواجد حالياً

  8. #8
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2000
    المشاركات
    998


    كلامك صحيح،

    أنا صححت ملف التطبيق ونسيت ملف الكائن


    شكرا لك على التنبيه





    __________________
    لا تعاند من إذا قال فعل
    الشنكبوتية
    اللغة العربية سياج هويتنا
    عبد الرحمن غير متواجد حالياً

  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    790


    رد مقتبس من فاعل خير
    لله درك يا شيخ .. الله يحفظك ويبارك فيك ويطول عمرك في طاعته ..

    شيء جميل جداً
    بارك الله فيك أخي عبد الرحمن





    __________________
    دكتور لا
    Dr.no غير متواجد حالياً





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

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

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