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

الموضوع: ما هي فكرة (السابق - التالي) في PHP؟

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2000
    المشاركات
    2,029

    ما هي فكرة (السابق - التالي) في PHP؟



    سلام عليكم

    أريد أن أفهم فكرة السابق والتالي في PHP، وقد سبق أن سألت نفس السؤال في منتدى ما ووجدت الإجابة، وللأسف حذفت الملف الذي كتبت فيه الأوامر، لذلك أريد شرحاً وافياً لإنشاء (السابق والتالي) بهذا الشكل:

    < السابق 1 | 2 | 3 | 4 | 5 التالي >

    لاحظوا أنني أريد شرحاً للطريقة وليس مجرد أوامر تكتب دون أن أفهمها حتى ترسخ المعلومة في ذهني ولا أكرر سؤالي مرة أخرى ، والتطبيق يكون على برنامج للمقالات، هذه محتويات قاعدة بياناته:

    ID رقم مميز للمقالة
    title عنوان المقالة
    article المقالة نفسها

    كيف أعرض الآن عشر عناوين في صفحة ثم الباقي يكون في (السابق والتالي؟)
    سؤالي واضح وأنتظر الإجابة، والشكر مقدماً لكل من سيجيب ويشارك.





    سردال غير متواجد حالياً


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Apr 2002
    المشاركات
    631

    تمر ولون



    وعليكم السلام

    UP





    __________________
    معكم ابتداءً من 23/8/09 .. كل الشكر لمن اهداني العضوية .
    الرهيب9 غير متواجد حالياً

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Nov 2001
    المشاركات
    576


    يتم ذلك من خلال إستخدام الأمر limit في لغة الـsql بالشكل التالي:
    أولاً أنشئ متغير يحدد عدد النتائج في كل صفحة ولنقل 10 كما قلت أنت ولنسمي المتغير $sort وقيمته 10.
    الأن ننشئ متغير يحدد لنا في أي صفحة نحن أي كم النتائج التي تم عرضها ولنسمه مثلاً courent$ ،ماهي قيمة هذا المتغير؟
    قيمة هذا المتغير غير ثابتة حيث تتغير تبعاً للصفحة التي يتصفحها الزائر ولكن يجب إعطائها قيمة إفتراضية يأخذه في حال عدم تصفح الزائر أي أن يكون في الصفحة الأولى مثلاً بالشكل التالي:

    if(!isset($courent)||$courent=="")
    {
    $courent=0
    }

    الآن نضع إستفسار لقاعدة البيانات بالشكل التالي:

    $query=mysql_query("select * from droos LIMIT $courent,$sort");

    في هذا الإستفسار يمثل المتغير $sort عدد النتائج والمتغير $courent نقطة البداية لعرض النتائج المنتقاة.

    بعد ذلك نبدأ بوضع متصفح الصفحات اي التالي والسابق بالشكل التالي:
    أنشئ متغير يمثل الصفحة التالية(زر التالي) وسمه $next مثلاً،وآخر يمثل الصفحة السابقة(زر السابق) وسمه $last

    الآن سنضع قيم هذين المتغيرين وبالتأكيد فقيمهم ليست ثابتة بل متغيرة وستكون بالشكل التالي:
    $next=$courent+$sort
    $last=$courent-$sort

    بعد ذلك الصقها في الرابط ولكن إجعلها كقيم للمتغير $courent لتفهم ماأقصد،سيكون الرابط بالشكل التالي عند ضغط أي من الزرين(التالي/السابق)
    index.php?courent=$next
    لزر التالي
    index.php?courent=$last
    لزر السابق

    وبهذا ستحصل على ماطلبت





    php4 غير متواجد حالياً

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2000
    المشاركات
    2,029


    جزاك الله خيراً
    عملت تماماً كما أردت
    سأحاول تطوير الأوامر لتعمل كما أريد





    سردال غير متواجد حالياً

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    889


    شكراً لك أخي php4 على الدرس
    بس يا أخي الدرس ينقصه شيء وهو عندما المتغير courent لا يساوي أي شيء يعني نكون في الصفحة الأولى ولا نحتاج إلى الزر السابق وبعبارة أخرى $courent=0 إذا ما اشتبه وأيضاً في الصفحة الأخيرة من النتايج لا نحتاج إلى الزر التالي مالحل، لأنه مع الكود الأعلى يظهر لنا الزران السابق والتالي في جميع الحالات
    شكراً





    haidar غير متواجد حالياً

  6. #6
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2000
    المشاركات
    2,029


    haidar: استخدم if وelse





    سردال غير متواجد حالياً

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Nov 2001
    المشاركات
    576

    الأمر بسيط أخي الكريم



    ضع الزرين بروابطهما في متغيرين ،كما سنحتاج إلى أن نقوم بوضع شروط العرض والتي يتم من خلالها حجب أحد الزرين عند عدم وجود نتائج له بالشكل التالي:
    if($max==0){
    $nextlink="";
    }
    esle{
    $nextlink="<a href='index.php?courent=$next'>&Ccedil;&aacute;&Ecirc;&Ccedil;&aacute;&iacute;</a>";

    }

    if($last==0||$last<0){
    $lastlink="";
    }
    esle{
    $lastlink="<a href='index.php?courent=$last'>&Ccedil;&aacute;&Oacute;&Ccedil;&Egrave;&THORN;</a>";

    }

    تنبيه: أنشئ متغير بإسم $max ومهمته جمع النتائج المستخرجة من القاعدة،ضع هذا الكود بعد إستفسار قاعدة البيانات مباشرةً
    $max=mysql_num_rows($query);

    بذلك ستحصل على ماطلبته.





    php4 غير متواجد حالياً

  8. #8
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697


    كاني رايت في احد برامج المنتديات بسيطة اعتماده على الامر limit كما ذكره البعض و كذلك على ربطه بما يظهر في برنامج phpmyadmin حيث ان هذا البرنامج يعرض كل ثلاثين صف في صفحة .. و كذلك برنامج المنتدى هذا يعرض كل ثلاثين موضوع بصفحة !!





    رضا غير متواجد حالياً

  9. #9

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

    __________________

    ألا في سبيل الله ما أنا فاعل - - - عطاء وإقدام وحزم ونائل

    عبدالعزيز السعيد غير متواجد حالياً

  10. #10
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    889


    شكراً لكم اخواني





    haidar غير متواجد حالياً

  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    693


    موضوع جميل





    php master غير متواجد حالياً





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

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

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