قصة مثل

الرئيسة مركز التحميل من أنا؟ محرر HTML اتصل بنا
( أوابد ) مدونة عبد الرحمن بن ناصر السعيد

مادة صوتية شعرية

 
مطلع القصيدة
أحارَ بنَ عَمرٍو كأنِّي خَمِرْ * ويعدو على المرءِ ما يَأْتَمِرْ
الشاعر:
امرؤ القيس
إلقاء
:عبد الرحمن السعيد
اضغط على بدء التشغيل وانتظر قليلا
اضغط هنا
إذا ظهرت لك مشكلة في الاستماع فاضغط هنا لحلها
 

تراث العرب

 
الاستشارة اللغوية
ديوان العرب
نثر العرب
المعجم
الأعداد كتابةً
 

أضخم مقالة لهذا اليوم

 ليست هناك أي مقالة اليوم 

روابط أخرى

 
  • الأربعون النووية
  • دليل المواقع
  • البوابات
  • إرشادات
  • الموسوعة
  • الإخبار عن موقعنا
  • الأقسام
  • إحصاءات
  • خزانة المقالات
  • نشر مشاركة
  • التصويت
  • الأكثر
  • المقالات الـ10 الأخيرة
  • حسابك
  • الرسائل الخاصة
  •  

    حركة الموقع

     
    عدد الزوار
    اليوم : 53
    الشهر : 3170
    السنة : 25172
    الجميع : 861417
    أكثر عدد للزوار : 25130 بتأريخ : 10/6/2008 ..
     

    برنامج إلى صلاتي

       

    البحث

     


     

    كائن تعدد الصفحات، الإصدار الثاني PHP
    كُتبت المقالة بتأريخ الأحد9/ جمادى الآخرة/1425 الموافق 25/7/2004 مسيحية

    البرمجة عبد الرحمن السعيد كتب "سبق أن برمجت هذا الكائن بلغة PHP، ووظيفته تقسيم النتائج الكثيرة على صفحات كي يسهل التصفح، ويخف الضغط على قاعدة البيانات

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

    #########################################
    #
    # كائن تعدد الصفحات
    # برمجة : عبد الرحمن بن ناصر السعيد
    # صاحب موقع الشنكبوتية
    # http://www.toarab.ws
    # الإصدار الثاني بتأريخ 1425/6/9هـ

    # ababab90@yahoo.com
    # فضلاً : هذا العمل استغرق الكثير من الوقت والجهد

    # فلا تستخدمه في معصية من خلقك!
    # ولا تحذف هذه الحقوق، والحساب يوم الحساب!
    #########################################
    #
    # تـــــحـــــــذيـــــر
    # لا يسمح باستخدام هذا الكائن في البرامج التجارية
    # إلا بعد تفاهم مع المبرمج
    #########################################

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

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

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



    $this->DoCode('

    start=10&offset=20&page=1

    ','php')

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

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

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

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

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

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

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

    3) اختيار طباعة كلمة : الأخيرة

    4) اختيار طباعة : السابقة

    5) اختيار طباعة التالية

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

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

    8) اختيار جعل الصفحات في قائمة منسدلة

    9) تحديد عدد الصفحات المعروضة قبل الصفحة الحالية وبعدها

    ويمكنك التحكم في هذه الخيارات بسهولة من حيث التقديم والتأخير، ووضعها بين وسوم HTML

    وهذه رموز الخيارات :


    $this->DoCode('
    // {H} = header طباعة عرض النتائج من إلى من إجمالي
    // {A} = Number of pages = طباعة عدد الصفحات
    // {P} = PAGES = الصفحات
    // {F} = FIRST PAGE = طباعة الصفحة الأولى
    // {R} = PREV PAGE = الصفحة السابقة
    // {N} = NEXT PAGE = الصفحة التالية
    // {L} = LAST PAGE = الصفحة الأخيرة
    // {E} = extra = طباعة مدى الأرقام
    // {S} = select list = طباعة الصفحات في قائمة منسدلة
    ','php')


    10) تلوين الصفحة الحالية باللون الأحمر

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

    ثانيا : طريقة الاستعمال

    1) أنشئ الكائن :



    $this->DoCode('

    $n = new npp;

    ','php')

    2) اجلب عدد النتائج للصفحة المراد عرضها :


    $this->DoCode('
    $query = "
    SELECT * FROM YOUR_TABLE
    WHERE id = '$id'
    ";
    $result = mysql_query($query);
    $totalRecords = mysql_num_rows($result);

    ','php')

    3) تدرج هذا الأمر

    أ) المتغير page$ يشير إلى الصفحة فلا تغيره

    ب) المتغير limit$ يشير إلى عدد النتائج في كل صفحة

    ج) المتغير totalRecords$ هو عدد النتائج المجلوبة في الاستعلام السابق


    $this->DoCode('

    $n->set($page,$limit,$totalRecords);

    ','php')

    4) تدرج الاستعلام الثاني المتضمن تحديد النتائج



    $this->DoCode('

    $query2 = "
    SELECT name,post FROM YOUR_TABLE
    WHERE id ='$id'
    limit ".$n->sql()."
    ";
    $result2 = mysql_query($query2);

    ','php')


    تنبه إلى أدرج الأمر n->sql$ بعد limit في


    $this->DoCode('

    limit ".$n->sql()."

    ','php')

    5) إذا كنت تريد طباعة الرقم التسلسلي فأدرج هذا الأمر


    $this->DoCode('

    $r = $n->row();

    ','php')

    قبل حلقة التكرار، ثم حلقة التكرار، ثم إضافة عدد لكل حلقة

    $this->DoCode('
    $r= $n->row();
    while (list ($name, $post) =mysql_fetch_array($result2)) {
    $r++;
    // ما تريد
    }

    ','php')

    6) تطبع الكائن :

    أ) الخانة الأولى للخيارات

    ب) الخانة الثانية لعدد الصفحات قبل الصفحة الحالية وبعدها

    ج) الخانة الثالثة للرابط


    $this->DoCode('

    echo $n->show($op="{H}{A}{F}{R}{P}{N}{L}
    {E}{S}",4,$url="");


    ','php')

    وإليك الرموز مرة ثانية

    $this->DoCode('

    // {H} = header طباعة عرض النتائج من إلى من إجمالي
    // {A} = Number of pages = طباعة عدد الصفحات
    // {P} = PAGES = الصفحات
    // {F} = FIRST PAGE = طباعة الصفحة الأولى
    // {R} = PREV PAGE = الصفحة السابقة
    // {N} = NEXT PAGE = الصفحة التالية
    // {L} = LAST PAGE = الصفحة الأخيرة
    // {E} = extrat = طباعة مدى الأرقام
    // {S} = select list = طباعة الصفحات في قائمة منسدلة
    ','php')

    تنبيهات :


    1) يجب كتابة الحرف بالوضع الكبير H بين معقوفين {H}


    2) يمكنك ترك خانة الرابط فارغة إذا لم تكن هناك متغيرات سابقة تريد تمريرها، وسيتولى الكائن التعامل معه.
    أما إذا كانت هناك متغيرات فإن عليك وضعها مثل


    $this->DoCode('

    $url="?id=5&new=1&type=tree";

    ','php')

    ولا حاجة إلى كتابة اسم الملف؛ لأن الكائن يتولى ذلك نيابة عنك، ولا حاجة -أيضًا- إلى وضع العلامة & في الرابط



    مثال مجمع :


    $this->DoCode('

    $n = new npp;

    $query = "
    SELECT * FROM YOUR_TABLE
    WHERE id = '$id'
    ";
    $result = mysql_query($query);
    $totalRecords = mysql_num_rows($result);

    $n->set($page,$limit,$totalRecords);

    $query2 = "
    SELECT name,post FROM YOUR_TABLE
    WHERE id ='$id'
    limit ".$n->sql()."
    ";
    $result2 = mysql_query($query2);

    $r = $n->row();
    while ($row =mysql_fetch_row($result2)) {
    $r++;
    // ما تريد
    }

    echo $n->show($op="{H}{A}{F}{R}{P}{N}{L}
    {E}{S}",4,$url="");

    ','php')

    انتهى



    تطبيق عملي :

    اضغط هنا

    تحميل الكائن مع التعليمات

    مناقشة الكائن


    "

     

    روابط ذات صلة

     · تفاصيل عن: البرمجة


    أكثر موضوع قرئ في: البرمجة:
    كائن تعدد الصفحات، الإصدار الثاني PHP

     

    تقويم المقالة

     
    معدل التقويم: 5
    عدد المصوِّتين: 2


    يمكنك تقويم المقالة من هنا:

    ممتاز
    جيد جدا
    جيد
    لا بأس
    سيء


     

    خيارات

     
     صفحة للطباعة  صفحة للطباعة

     
     

    باستخدام برنامج PHP-Nuke

    نقله إلى العربية وطوره : عبد الرحمن بن ناصر السعيد
    يمكنك جلب آخر المقالات من موقعنا باستخدام ملف backend.php أو ملف ultramode.txt


    Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
    مدة تحميل الصفحة: 0.027 ثانية