بواسطة: rafia
بتاريخ : الخميس 01-01-1970 02:00 صباحا
تابع لسلسلة دروس تعدد الصفحات وفي هذا الدرس طريقة جديدة في استخراج النتائج
لن يكون العدد مبني على عدد السجلات الموجودة في قاعدة البينات لان الاستعلام على سجل واحد فقط .
هنا سوف نقوم بعرض كتلت هذا السجل حسب عدد الاسطر
وقد اثار الموضوع بعض الاخوة في قرية البي اتش بي وكان منهم من قسمها على اساس عدد الاحرف والبعض على عدد الكلمات
فقررت ان احاول حل الموضوع بحسب عدد الاسطر ووصلت لهذه النتيجة .
[LINK]http://www.arabportal.info/news.php?action=view&id=17|تعدد الصفحات ( 2)[/LINK]
الدرس
نجري الاتصال بقاعدة البينات لكي نتمكن من استعلامها.
الان نبدأ في الأستعلام
هذا الاستعلام يستخرج سجل من الجدول rafia_forum
وهو الذي تمت التجربة عليه .
يحدد هذا السجل رقمة التسلسلي وهو المتغير id
بدل هذا المتغير برقم احد السجلات الموجودة في قاعدت بيناتك وقم بتعديل اسم الجدول
الان نقوم بستخراج كل الحقول الموجودة في هذا السجل
بهذا السطر
قبل معالجة البينات نتاكد من ان القيمه لعدد الاسطر موجودة , أن لم تكن تاخذ القيمة صفر
بعد ذلك نضع متغير يحمل قيمة عدد الاسطر في كل صفحة
ثم نقوم بتحرير الحقل الذي نريد تقسيمة لعدة اسطر من المقبض row
والان نقوم بتقسيم هذا الحقل إلى اقسام بحسب عدد الاسطر
استخدمنا الدالة explode في التقسيم على اساس
n \ حرف السطر الجديد هو غير مرئي لكنه ياتي في نهاية كل سطر معبرا عن بداية سطر جديد
ووضعنا الناتج من التقسيم في مصفوفة : expline
تذكير
explode تقوم بتقسيم السلسلة وتحويلها الى مصفوفة .
الان نقوم بحساب عدد عناصر المصفوفة بستخدام الدالة
count
countlin هو المتغير الذي حفظنا فيه مجموع عدد الاسطر
الان نقوم بتجهيز العملية الحسابية في تقسيم الصفحات
( راجع الدرس الاول )
إلى هنا جهزنا جميع المتغيرات التي سوف تساعدنا في تقسيم العرض
نبدأ في التقسيم
نقوم بعرض الاسطر انطلاق من نقطة معينة في المتغير line وحتى نقطة نهاية معينة في المتغير nextpage
مستخدمين في ذلك حلقة التكرار for
ملاحظة
اثناء الطباعة تجد <br> في النهاية وهي شرط اساسي لنجاح العملية اما في البداية او النهاية لنك لن تطر لستخدام الدالة nl2br . السبب لان التعامل مع مصفوفة
اعني مقسمة في اسطر جاهة
انتهينا ولم يبقى الى اظهار كلمة السابق والتالي
مستخدمين في ذلك اربع شروط تم شرحها في الدرس الاول