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

الموضوع: [درس في برمجة الهاكات] (تعدد الصفحات) للـــــــvb3

  1. #1
    عضو فعال
    تاريخ التسجيل
    Nov 2002
    المشاركات
    1,602

    [درس في برمجة الهاكات] (تعدد الصفحات) للـــــــvb3



    [درس في برمجة الهاكات] (تعدد الصفحات) للـــــــvb3

    تحدثنا سابقا عن عمل صفحه والتعامل مع التمبلت في درس
    http://www.swalif.net/softs/showthre...threadid=49122

    والان سوف نتحدث عن درس بسيط وهو تعدد الصفحات وتقسيم النتائج على عدة الصفحة
    فل نفرض اننا قمنا بعمل ملف صغير يعرض اسم كل عضو وعدد مشاركاته
    كود PHP:
    <?php
    require_once('./global.php');


    $vb =  $DB_site->query("
      SELECT userid,username,posts
      FROM " 
    TABLE_PREFIX "user ORDER BY user.userid");


    while(
    $all_the_vb $DB_site->fetch_array($vb)) {
    eval(
    '$vbulletin .= "' fetch_template('userpostsbits') . '";');
    }

    eval(
    'print_output("' fetch_template('userposts') . '");');
    ?>

    والتمبلت userposts فيه
    كود PHP:
    $stylevar[htmldoctype]
    <
    html dir="$stylevar[textdirection]lang="$stylevar[languagecode]">
    <
    head>
    <
    title>$vboptions[bbtitle] - all-the-vb</title>
    $headinclude
    </head>
    <
    body>
    $header
    $navbar
    <br />
    <
    table class="tborder" cellpadding="$stylevar[cellspacing]cellspacing="$stylevar[cellspacing]border="0" width="50%" align="center">
    <
    td class="tcat">الاعضاء,والمشاركات</td>
    $vbulletin
    </table>
    $footer
    </body>
    </
    html
    والتمبلت userpostsbit فيه
    كود PHP:
    <tr><td class="alt1"><a href="member.php?$session[sessionurl]u=$all_the_vb[userid]"$all_the_vb[username]</a>  $all_the_vb[posts]</td></tr
    لو اردنا تقسيم هذه النتائج على عدة صفحات
    نضيف
    كود PHP:
    globalize($_REQUEST, array('perpage' => INT'pagenumber' => INT)); 
    وعمله تمرير المتغرين $pagenumber و $perpage
    واخباره انهما عددين صحيحين
    ومن هناك سوف يتم تمريرهما عبر الداله intval();
    بما انهما عددين صحيحين وعملها اخذ الرقم من المتغير للمزيد عن هذه الدالة.
    http://php.net/intval

    والان نحدد
    الحد الاقصى للصفحات
    مثلا نسمى المتغير max
    $max=4;
    والحد الاقصى للاسماء بالصفحه
    مثلا نسمى المتغير inpage
    $inpage=2;

    والان نضع هذا الكود
    كود PHP:
    if(isset($perpage)) {

        if(
    $perpage >$max) {
        
    $perpage $max;
        }
    } else {
        
    $perpage $inpage;

    وعمله
    اذا تحقق الشرط وهو ان المتغير $perpage غير فارق
    ويتم التاكد من ذلك بالدالة isset();
    ومن ثم شرط اخر
    اذا كان الحد الاقصى للاسماء بالصفحه الواحد اكبر من الحد الاقصى للصفحات
    يعطى المتغير $perpage
    قيمة المتغير $max
    ومن بعد اذ لم يتحقق الشرط الاول
    يعطى المتغير $perpage
    قيمة المتغير $inpage
    وهو الحد الاقصى للاسماء بالصفحه

    والان نضيف استعلام
    كود PHP:
    $pagequery $DB_site->query_first("SELECT COUNT(*)AS alluser FROM " TABLE_PREFIX "user"); 
    للتعرف على عدد الاسماء الكلى.

    والان نضيف الكود التالى
    كود PHP:
    if ($pagenumber 1)
    {
        
    $pagenumber 1;
    }
    else if (
    $pagenumber ceil(($pagequery['alluser']+ 1) / $perpage))
    {
        
    $pagenumber ceil(($pagequery['alluser'] + 1) / $perpage);

    وعمله اذا كان $pagenumber اصغر من واحد يعطيه القيمه 1
    ومن بعد اذا لم يتحقق الشرط يعمل شرط اخر وهو
    ان يكون المتغير $pagenumber
    اكبر من العدد الكلى للاسماء زائد واحد تقسيم عدد الاسماء بكل صفحه
    وتم تمرير (اكبر من العدد الكلى للاسماء زائد واحد) بالدالة ceil();
    وعملها تقريب العدد الى العدد الصحيح الاكبر
    للمزيد حول هذه الدالة
    http://php.net/ceil

    والان نضيف التالى
    كود PHP:
    $limitlower = ($pagenumber 1) * $perpage
    اى رقم الصفحه ناقص واحد ضرب عدد الاسماء بكل صفحه

    والان نحدد عدد الاسماء التى ستخرج لكل صفحه
    من الاستعلام
    الذى كتبناه سابقا
    كود PHP:
    $vb =  $DB_site->query("
      SELECT userid,username,posts
      FROM " 
    TABLE_PREFIX "user ORDER BY user.userid"); 
    نضيف اليه
    كود PHP:
     LIMIT $limitlower$perpage 
    ليصبح
    كود PHP:
    $vb =  $DB_site->query("
      SELECT userid,username,posts
      FROM " 
    TABLE_PREFIX "user ORDER BY user.userid LIMIT $limitlower$perpage"); 
    والان نضيف
    التالى
    كود PHP:
    $pages construct_page_nav($pagequery['alluser'], "m.php?","&pp=$perpage"); 
    تمرير العدد الكلى للاسماء واسم الملف عدد الاسماء لكل صفحه
    عبر دالة الvb
    construct_page_nav
    وهي الى تختص بعمل تعدد الصفحات بالفي بي 3
    للمزيد حول هذه الداله
    راجع ملف functions.php الموجود بمجلد includes
    عند السطر 1686 تقريبا

    واسندنا هذه العمل الى المتغير $pages

    والان بقى ان نضيف المتغير $pages
    الى تمبلت userposts
    باى مكان تود ان تظهر لك تعدد الصفحات

    والان بعد نهاية التعديلات
    كود PHP:
    <?php
    require_once('./global.php');

    globalize($_REQUEST, array('perpage' => INT'pagenumber' => INT));

    $max=4;
    $inpage=2;

    if(empty(
    $page)){
    $page=1;
    }
    if(isset(
    $perpage)) {

        if(
    $perpage >$max) {
        
    $perpage $max;
        }
    } else {
        
    $perpage $inpage;
    }

    $pagequery $DB_site->query_first("SELECT COUNT(*)AS alluser FROM " TABLE_PREFIX "user");

    // set page number
    if ($pagenumber 1)
    {
        
    $pagenumber 1;
    }
    else if (
    $pagenumber ceil(($pagequery['alluser']+ 1) / $perpage))
    {
        
    $pagenumber ceil(($pagequery['alluser'] + 1) / $perpage);
    }

    $limitlower = ($pagenumber 1) * $perpage;


    $vb =  $DB_site->query("
      SELECT userid,username,posts
      FROM " 
    TABLE_PREFIX "user ORDER BY user.userid LIMIT $limitlower$perpage");


    while(
    $all_the_vb $DB_site->fetch_array($vb)) {
    eval(
    '$vbulletin .= "' fetch_template('userpostsbits') . '";');
    }
    $pages construct_page_nav($pagequery['alluser'], "m.php?","&pp=$perpage");

    eval(
    'print_output("' fetch_template('userposts') . '");');
    ?>

    والتمبلت userposts فيه
    كود PHP:
    $stylevar[htmldoctype]
    <
    html dir="$stylevar[textdirection]lang="$stylevar[languagecode]">
    <
    head>
    <
    title>$vboptions[bbtitle] - all-the-vb</title>
    $headinclude
    </head>
    <
    body>
    $header
    $navbar
    <br />
    <
    table class="tborder" cellpadding="$stylevar[cellspacing]cellspacing="$stylevar[cellspacing]border="0" width="50%" align="center">
    <
    td class="tcat">الاعضاء,والمشاركات</td>
    $vbulletin
    </table>
    $pages
    $footer
    </body>
    </
    html
    والتمبلت userpostsbit فيه
    كود PHP:
    <tr><td class="alt1"><a href="member.php?$session[sessionurl]u=$all_the_vb[userid]"$all_the_vb[username]</a>  $all_the_vb[posts]</td></tr
    الموضوع في فيبيولتين عرب:
    http://vbulletin-arab.com/forums/sho...6772#post16772

    والسلام عليكم
    All-the-vb





    __________________
    المغردون العرب
    all-the-vb غير متواجد حالياً


  2. #2
    عضو فعال
    تاريخ التسجيل
    Nov 2002
    المشاركات
    1,602




    من أعلى المتصفح

    view=>Encoding=>Left-to-right Document





    __________________
    المغردون العرب
    all-the-vb غير متواجد حالياً

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Sep 2003
    المشاركات
    92


    مشكوووووووور

    اخي الكريم هذا الموضوع الاكثر من رائع

    وعلى هذا الدرس المتميز


    وعسى يكون بميزان حسناتك

    يارب

    وبالتوفيق





    __________________
    قالوا اين انت يا موقع تثير شهرة في العلى
    فقلت من كثرتها ضاع وضعت معاه ...
    Email
    Aloraibi@gmail.com
    بحريننا غير متواجد حالياً

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


    درس رائع جدا .. الف الف شكر لك استاذي .. فعلا نستطيع اللعب في بعض الشغلات اللي علمتنا عليه .. ونسوي شي جديد ونطور حالنا .. سلمت لنا .. يا مبدع .. ولا تطول الغيبات ترى ما نقدر ..

    اخوك
    شنكول





    __________________
    :: ستايلات احترافيه::
    1- ستايل احترافي ورائع
    2- 2- قريباً..
    3- 2- قريباً..
    معروف غير متواجد حالياً

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    339


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





    __________________
    شكرا
    المتواضع غير متواجد حالياً

  6. #6
    عضو فعال
    تاريخ التسجيل
    Nov 2002
    المشاركات
    1,602


    بحريننا & معروف & safareeat

    بارك الله فيكم, وحياكم الله

    واذا اي واحد من الشباب عنده سؤال لايتردد .





    __________________
    المغردون العرب
    all-the-vb غير متواجد حالياً

  7. #7


    مشكوور أخوي على الشرح والله يوفقك





    __________________
    MSN:Alkhayaal@alkhayaal.com
    alkhayaal.com غير متواجد حالياً

  8. #8
    عضو فعال
    تاريخ التسجيل
    Jun 2003
    المشاركات
    1,364


    all-the-vb

    الف شكر وتقدير لك يادب ما قصرت

    رااائع دوماً

    سلمت يداك

    اخوك الوافي





    __________________
    شبكة الوافي التطويرية
    في خدمتكم دائماً لتطوير منتدياتكم ومواقعكم ..
    http://www.vbulletin4arab.com
    شبكة الجوارس العربية
    شبكة عربية تضم كل ما يفيد المستخدم العربي ..
    http://www.aljawariss.net
    الوافي غير متواجد حالياً

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    441


    all-the-vb

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

    ما شاء الله تبارك الله من حسن الى احسن ... الله يوفقك اخوي ...

    تحياتي لك يالغالي الغايب





    __________________
    احمدك ياربي على نجاتي من موت محقق بلا محاله

    العارف - ادارة فيبولتن العربيه
    \\ فيبولتن العربيه _ vBulletin-arab //

    []انتظرووو Golden Board ... اسطوره في عالم الانترنت بإذن الله[]
    . . .
    al3arf غير متواجد حالياً

  10. #10
    عضو فعال
    تاريخ التسجيل
    Nov 2002
    المشاركات
    1,602


    alkhayaal.com
    بارك الله فيك وحياك الله

    الوافي
    الله حيه الغالي
    العفو وتسلم على الرد

    al3arf
    وينك يالحبيب
    تعرف والله نفس اليوم الى رديت فيه ان طريتك وكنت انشد عنك
    بارك الله فييك ولاتحرمنا من شوفتك





    __________________
    المغردون العرب
    all-the-vb غير متواجد حالياً





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

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

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