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

الموضوع: حوار ساخن ينتج شرح لتعدد الصفحات بسيط

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196

    حوار ساخن ينتج شرح لتعدد الصفحات بسيط



    بسم الله الرحمن الرحيم ..
    الحمد لله رب العالمين ..

    هذي يا أخواني طريقة سهلة لعمل تعدد الصفحات .. و إذا في انتقادات نبهوني ترى آنة صغير في الـphp ..

    أحب أنبه أن الكلام كأنه ما بين مدرس و تلميذه .. فكل شي مكتوب ما بين [ القوسين ] للتلميذ [ إلي أهو آنة ] .. و الباقي للمدرس إلي أهو آنة ..

    نبدأ الشغل ..

    .:: أول شي ::.
    نفهم الفكرة وانحدد المعطيات [ :con2: .. يعني اشلون ؟؟ ] .. سهلة !! آنة أقولك ..

    .:: الفكرة .:. المعطيات ::.
    الفكرة : تعدد الصفحات .. يعني أني أحدد عدد من الصفوف أخرجهم للمستخدم .. ويكون عدد الصفوف الكلي أكبر من عدد الصفوف المخرجة للمستخدم .. ويكون فيه لينك إلى نفس الصفحة إذا ظغطنا عليه يحولنا على نفس الصفحة ولكن بمخرجات جديدة ..
    المعطيات : الموجود عندنا عدة أشياء :
    1- رقم الصفحة إلي أحنا فيها ..
    2- عدد الصفوف المخرجة ..
    3- نقطة البداية في كل صفحة .. [ :con2: .. يا استاذي أنت اتقول سهلة !! وين هذي يبيلها شغل ] .. لحظة يبة أنطر اشوي ما فيك صبر .. ..
    4- العدد الكلي للصفوف ..

    ألحين ركز معاي شوي لا اتنح ..
    1- رقم الصفحة إلي أحنا فيها .. هذي سهلة .. نقدر انخلي اللينك يكون فيه متغير يحمل رقم الصفحة ؟؟ أي يبة نقدر .. [ هذي وحدة عدت على خير ] .. ههه ترى الموضوع سهل و ما يحتاج ..

    2- عدد الصفوف المخرجة .. [ هذا صعب اشوي :con2: ] .. أقول لا اتذمر وايد .. هذا أنت اتحدده .. بعد أكو شي أسهل منه ..

    3- نقطة البداية في كل صفحة .. هذي مصيبة المصايب [ إذا المعلم يقول مصيبة المصايب اشراح انقول احنا ] .. و دام هذي مصيبة المصايب راح أعطيك إياها على البراد ..
    شوف .. [ ] لا اتنح .. المسألة سهلة .. مجرد معادلة رياضية .. [ آنة ما صدقت أخلص من مدرس الرياضيات يانا هذا :anger2: ] .. لا يبى لا .. هذي غير .. هذي سهلة وايد .. بس فيها ظرب و طق و كسور و رظوظ .. قصدي أنها سهلة ..
    المعادلة هي بكل بطاطا : ( رقم الصفحة الحالية * عدد الصفوف المخرجة للمستخدم ) - عدد الصفوف المخرجة للمستخدم ..
    سهلة صح ؟؟ [ :anger2: كل هذا الكلام واتقول سهلة ] .. لحظة اشوي صبرك علي .. خلني أعطيك مثال أول بعدين تعال تحلطم علي ..

    4- العدد الكلي للصفوف .. عاد هذي أسهل شي .. نحط الاستعلام وبعدين انطلع عدد الصفوف ..

    شوف يبى ..
    نفرض أن الصفحة الحالية رقمها 1 .. و عدد الصفوف المخرجة للمستخدم 10 ..
    انطبق المعادلة وانشوف ..
    ( 1 * 10 ) - 10 = 0
    إذن .. هذي نقطة البداية 0 .. سهلة ؟؟ ولا صعبة ؟؟ [ :eek2: هذي أسهل من ما لت مدرس الرياضيات ] ..

    طيب خلنا من النظريات إلى العمليات ..

    .:: ثاني شي ::.
    راح انعين رقم الصفحة عن طريق GET إلي اتكون مع المتصفح .. [ انزين و إذا ما في GET راح يكون المتغير فاظي يعني empty ] .. كلامك صح .. 100% .. علشان جذي لازم ناخذ تدابيرنا وانتوكل على الله ..
    أول شي لازم انعين متغير وانسميه مثلاً $page وانعرفة على أنه أهو رقم وليس كلام ..

    كود PHP:
    $page = (int) (!isset($_GET["page"]) ? $_GET["page"]); 
    طيب .. ليلحين كل شي تمام .. عينا المتغير $page و عرفناه على أنه أهو رقم وليس كلام .. و المهم كذلك أن أحنا عطيناه رقم 1 إذا كان empty .. و إذا كانت $_GET["page"] ممررة عن طريق العنوان راح ياخذ قيمتها ..

    حلو .. ألحين في مشكلة راح اتواجهنا من قبل الأطفال ( المخترقين ) .. [ شنو أهي :con2: ] .. شوف معاي .. إذا قام الطفل و مرر كلام في العنوان مثلاً :

    http://localhost/index.php?page=kldfjd

    هذا الفعل .. راح يولد إيرور .. علشان جذي أحنا لازم ناخذ تدابيرنا .. لازم نعطيه أمر يخليه يتحاشى الكلام .. أو الحرف .. وياخذ الأرقام فقط .. وكذلك ما يطلع إيرور .. فالأمر التالي راح يحل المشكلة باختصار

    كود PHP:
    $page = ($page == $page); 
    خلصنا من تحديد الصفحة الحالية .. ألحين انحدد عدد الصفوف إلي راح انطلعها من الداتابيس .. فعلشان انخلص من هذي الخطوة الطويلة .. راح انعرف متغير على أن يحدد لنا الصفوف إلي نبيها .. بكل بساطة ..

    كود PHP:
    $perpage 10
    ألحين نطبق المعادة الرياضية .. [ :eek2: هذي السهلة ] .. وراح نعطي الناتج متغير وانسميه $startpoint ..

    كود PHP:
    $startpoint = ( $page $perpage ) - $perpage
    و الحل على الكمبيوتر إن يطلعة .. [ أشوة افتكينا من شي على الأقل ] ..
    ألحين يا وقت الاستعلام و عواقبة الوخيمة هاهاهاهاه .. قصدي عواقبة السهلة ..

    كود PHP:
    $query "SELECT * FROM table limit $startpoint$perpage";
    $result mysql_query($query);
    $num mysql_num_rows($result); 
    ألحين أحنا سوينا الاستعلام المطلوب و حددنا عدد الصفوف .. وطلعنا عدد الصفوف !! .. تدرون ليش أحنا طلعنا عدد الصفوف مع أن أحنا حددناهم من قبل ؟؟ .. [ عاد هذي صعبة و الله .. :con2: ] .. أسكت فشلتنا و آنة معتمد عليك ..
    آنة طلعت عدد الصفوف علشان إذا كان عدد الصفوف الباقية 3 ما يكرر العملية حتى 10 لأن احنا حددنا عدد الصفوف المخرجة 10 .. وهذي سهلة ..

    ألحين ظبط شغلك علشان اتطلع المخرجات على الشكل إلي أنت تبيه وهذي آنة أخليها حقك ..

    بعد المخرجات مالتك راح نبدي في شغلنا إلي أهو تعدد الصفحات ..
    في شغلة تغافلت عنها عمداً و إهيا إلي راح انسويها ألحين ؟؟ اتعرفون شنو أهيا ؟؟ .. [ أيي آنة أعرف .. أهيا العدد الكلي للصفوف ] :funny: صح .. هذي الإجابات ولا بلاش بس فاظي اتصيد علي ها ؟؟ .. بس آنة أوريك :anger1: ..
    العدد الكلي للصفوف سهل و الكل يعرف يطلعة

    كود PHP:
    $num mysql_num_rows(mysql_query("SELECT * FROM table")) 
    جذي انكون طلعنا العدد الكلي للصفوف ..
    ألحين نفرض أن عدد الصفوف الكلي 63 صف .. و المطلوب أن انطلع 10 صفوف في كل صفحة .. الموضوع سهل .. بالقسمة 63/10 يطلع الناتج 6.3 .. لكن هل يوجد 0.3 صفحة ؟؟ لا .. لا يوجد .. لذلك نحتاج إلى أن نجبر العدد 6.3 إلى العدد 7 حتى نعرض باقي الصفوف في الصفحة رقم 7 .. وننتهي .. ولعمل هذا يمكننا أن نستعين بالدالة الأساسية ( ceil ) وظيفتها جبر الأعداد العشرية إلى أعداد صحيحة ..
    طيب .. الآن نفسر الكلام السابق بالكود التالي :

    كود PHP:
    $pagesnum = @ceil$num $perpage ); 
    الآن عرفنا كم صفحة نحتاج .. فيجب علينا عمل تكرار لاخراج الأرقام و الروابط عن طريق هذا الكود :

    كود PHP:
    for ($i=1$i<=$pagesnum$i++)
        { 
    الآن نقوم بالاشتراط من أجل التنسيق .. وهو كالتالي :
    نشترط أولاً إذا كان رقم التكرار لا يساوي رقم الصفحة .. فهنا يعطينا لينك ..
    أما إذا كان لا يساويه فيجب أن يكون تحته خط و بدون لينك ..

    كود PHP:
        if ($i != $page)
            {
            
    $z "<a href='"$_SERVER['PHP_SELF'] ."?page=$i'>$i</a>";
            }
        else
            {
            
    $z "<u>$i</u>";
            } 
    بكل بساطة الآن نقوم بإخراج أرقام الصفحات عن طريق echo :

    كود PHP:
        echo "[$z] "
    ولا تنسى إغلاق قوس التكرار

    كود PHP:
        
    وهذا هو الكود كامل :

    كود PHP:
    $page = (int) (!isset($_GET["page"]) ? $_GET["page"]);
    $page = ($page == $page);
    $perpage 10;
    $star $page $perpage;
    $startpoint $star $perpage;

    $query "SELECT * FROM table limit $startpoint$perpage";
    $result mysql_query($query);
    $num mysql_num_rows($result);


    //تقوم باستخراج بياناتك ..


    $num mysql_num_rows(mysql_query("SELECT * FROM table")) 
    $pagesnum = @ceil$num $perpage );
    for (
    $i=1$i<=$pagesnum$i++)
        {
        if (
    $i != $page)
            {
            
    $z "<a href='"$_SERVER['PHP_SELF'] ."?page=$i'>$i</a>";
            }
        else
            {
            
    $z "<u>$i</u>";
            }

        echo 
    "[$z] ";
        } 






    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً


  2. #2
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


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

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

    عموماً، موفق ..

    تحياتي، أشرف السمهوري






  3. #3
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    شكراً على مرورك أخوي .. أشرف السمهوري ..

    على فكرة آنة قريت موضوع واحد عن تعدد الصفحات وهو من موقع اسمة على ما أعتقد " الصديق " .. فأنا لا أذكر الموقع لأني كنت أبحث في قوقل .. وما بحثت في سوالف بتاتاً لأني كنت أبحث عن جديد لأضعه في سوالف .. فكيف آخذ من سوالف ؟؟ ..

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





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

  4. #4
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    العفو ...

    لا اخوي الموضوع ما هو بتوارد افكار .. المواضيع هو توارد اكواد ... الكود نفسه .. انا ما اتهمتك بشي .. بس حسيت انه نفس الكود (هو من ناحية نفسه فهو نفسه) .. بس اعترف لك .. الشرح انت تعبان فيه ...

    http://www.swalif.net/softs/swalif45...D5%DD%CD%C7%CA

    http://www.swalif.net/softs/swalif45...D5%DD%CD%C7%CA

    واعتذر اذا أزعجتك او أسأت لك .. شرحك جميل .. بارك الله فيك ووفقك لكل خير ..

    تحياتي، أشرف السمهوري






  5. #5
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    لا العفو أخوي أشرف السمهوري .. آنة ما فهمت منك أنك اتهمتني ولا شي .. بالعكس ولكني أردت وضع مبرارت قد تجدي ولكني لا أخفيك .. أنا الآن مصدوم من النتيجة إلي قمت فيها ؟؟ ..
    يعني بجد و الله إني مصدوم .. جهدي كله موجود ؟؟ ونفس الكود كأنه كوبي بيست !! .. ظنيت إني جايب كود جديد هههه لكن الحمد الله .. النية موجودة أهم شي هههه ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    168


    السلام عليكم


    أشرف كيفك ياطيب

    فيه هذا كمان طريقة أخرى لعمل تعدد الصفحات من إنتاج العبد لله

    http://www.swalif.net/softs/swalif45/softs193019/

    مستني أشوف رأيكم

    تحياتي





    __________________
    www.sakr4host.com

    0021371136760

    برمجة و تصميم على كيف كيفك

    صقرفور هوست خدمات تفوق التطلعات





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

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

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