تسجيل الدخول
اسم المستخدم
كلمة المرور

البحث في المكتبة


بحث متقدم

جديد الدروس
آخر 30 درس
كيف نحدد قوة قطع الحاسب الآلي ؟؟؟

تثبيت وندوز اكس بي من الدوس

[شرح]تصميم شاشة كمبيوتر ???

درس كيفية عمل قلم يرسم في الفلاش

كيفية عمل لمعة للنص

كيفية التعامل مع الفلاتر في الفلاش 8

درس الماسك {{ شرح بالفيديو }}

تعلم فنون الدمج في الفوتوشوب

كيفيه عمل السكرول بار

عمل خلفية جميلة

الكتابه الدائرية { شرح بالفيديو }

سلسلة دروسc++:الدرس الاول:مقدمة

التذهيب المتموج

دورة سيسكو للمساعدة فى تنظيم الشبكات Ccna

شهادة مايكروسوفت mcse بالعربي

دراسه تفصيليه عن بروتوكول Tcp/ip

مقدمه الى الجدران الناريه Firewalls

سلسلة دروس matlab(الدرس الخامس:أوامر مفيدة في MatLab

سلسلة دروس matlab(الدرس الرابع:كثير الحدود في MatLab

سلسلة دروس matlab(الدرس الثالث:المصفوفات في MatLab

سلسلة دروس matlab:الدرس الثاني:المتجهات فيmatlab

سلسلة دروس matlab(الدرس الاول:ما هو MatLab?)

دروس في لغة الاسمبلي(Assembly)

طريقه عمل الاسلاك الشائكة

تسفيط الورقه دون استخدام الفلاتر

نار ملتهبة

كيف تعمل فقعات

عمل نص شفاف

عمل زر احترافي

الكتابة المتشققة



إحصائيات المكتبة
المتواجدون الأن 1
عدد الأعضاء 1
عدد التصنيفات 24
عدد الدروس 306
عدد الردود 307
عـودة للخلف   دروس كتاب العرب > مكتبة الدروس > الأنترنت و برمجة المواقع

الرد على الموضوع
تفاصيل الدرس
خيارات الدرس تقييم الدرس
تحميل الدرس ككتاب إلكتروني PDF
تحميل الدرس ككتاب إلكتروني PDF
( يتم تشغيل الإمتداد PDF بواسطة برنامج يمكنك تحميله من هنا )
تقييم الدرس:
عنوان الدرس عمل زر السابق والتالي في عرض صفحات نتائج الاستعلام ؟؟
كاتب الدرس admin
تاريخ الإضافة 07-11-2005
زمن الإضافة 10:01 AM
عدد مرات المشاهدة 1164

  #1  
admin
 
الدروس التي أضافها: 305
المشاركات: n/a
Wink عمل زر السابق والتالي في عرض صفحات نتائج الاستعلام ؟؟

مقدمة :

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

تخيل انه لديك في قسم من اقسام موقعك 100 سجل , وتريد عرضها للزائر , فكم من الوقت سيستغرق عرض هذه النتائج ( ان استطاع المتصفح اصلا تحمل ذلك العدد الهائل ) , كما انها ستسبب ضغطا كبيرا على قاعدة البيانات

لذلك وُجدت الحاجة لمايعرف بتعدد الصفحات , وهو ان يتم عرض كل 10 سجلات (مثلا ) في كل صفحة , على ان يوجد شريط للتصفح باسفل الصفحة يؤدي للصفحة السابقة والصفحة التالية لنتائج هذا الاستعلام

في البداية يجب ان نعرف انه عند الاستعلام من قاعدة البيانات , يمكننا تحديد من اين يبدأ الاستعلام وكم سجلا نريد ان نستعلم عنها

مثال :

mysql_query("SELECT column FROM table ORDER BY column LIMIT 17,5")

نتيجة هذا الاستعلام ستعرض لنا 5 سجلات ابتداء من بعد السجل رقم 17

( تفسير:النتائج ستكون عبارة عن السجلات 18 ,19 , 20 , 21, 22)

الشرح :

لعمل السابق والتالي في عرض الصفحات :
قبل البدأ لابد ان نعرف ان صيغة الاستعلام مع تحديد البداية والنهاية تكون على الشكل التالي :

$sql=mysql_query("SELECT column FROM table ORDER BY id LIMIT $count,$perpage")

وهذا الاستعلام يعني ان يحضر لنا ببيانات الحقل column من الجدول table ويتم ترتيبها حسب رقم id ويبدأ الاستعلام من بعد الحقل رقم $count ويتم عدد $perpage حقل

الان نستفيد من هذه الميزة الرائعة على النحو التالي

في اول صفحتنا نقوم بأخذ قيمة $count عن طريق :

$count=$_GET['count'];

الان نحدد انه اذا كانت لاتوجد قيمة للمتغير $count فسنعين له القيمة صفر كما يلي :

if (!$count) { $count=0;}

الان نقوم بعمل استعلام من قاعدة البيانات :

$query=mysql_query("SELECT cloumn FROM table ORDER BY cloumn ")
or die("can't get the table");

الان نستعلم عن عدد النتائج التي حصلنا عليها , باستخدام الدالة mysql_num_rows
على النحو التالي :

$check_end=mysql_num_rows($query);

الان $check_end هو مجموع النتائج الموجودة لدينا في الاستعلام
سنحدد الان عدد النتائج التي نريد عرضها في كل صفحة واعطاء قيمتها للمتغير $perpage كما يلي :

$perpage=5;

الان جاء وقت عرض البيانات : فسنجري استعلاما مرة اخرى ولكن هذه المرة سنحدد كمية البيانات المطلوبة ومن اين يبدأ الاستعلام ( كما شرحنا في اول سطر )

$query1=mysql_query("SELECT cloumn FROM table ORDER BY id LIMIT $count,$perpage")
or die("can't get the table");

بعد عرض البيانات , حان وقت عمل ازرار التصفح (السابق||التالي)
لعمل رابط (السابق) ( اي عرض الخمس نتائج السابقة , مما يعني انقاص قيمة $count بمقدار خمسة )
فسنقوم بانقاص count ونخزن قيمته في المتغير $back

$back=$count-$perpage;

الان ولكي نتأكد من عدم اعطاء اخطاء , خلال عرض الصفحة الاولى (لان ناتج العملية السابقة سيكون بالسالب )فسنقوم باضافة شرط يلغي تفعيل الرابط كما يلي :

if ($back<0){
echo"السابق || ";

}else{
echo"<a href='page.php?count=$back'>السابق</a> || ";}

الان لعمل زر التالي , سنقوم اولا بزيادة قيمة count بنفس المقدرا $perpage وسنخزن القيمة في المتغير $next كما يلي :

$next=$count+$perpage;

سنضع ايضا شرط لالغاء تنشيط الرابط اذا كانت قيمة count اكثر من عدد النتائج الموجودة في الاستعلام كما يلي :

if ($next>=$check_end){
echo"التالي";
}else{

echo"<a href='page.php?count=$next'>التالي</a>";}

الكود كاملا :

$sql=mysql_query("SELECT column FROM table ORDER BY id LIMIT $count,$perpage")

$count=$_GET['count'];

if (!$count) { $count=0;}

$query=mysql_query("SELECT cloumn FROM table ORDER BY cloumn ")
or die("can't get the table");

$check_end=mysql_num_rows($query);

$perpage=5;
$query1=mysql_query("SELECT cloumn FROM table ORDER BY id LIMIT $count,$perpage")
or die("can't get the table");

//سيتم عرض السجلات الناتجة عن الاستعلام
$back=$count-$perpage;

if ($back<0){
echo"السابق || ";
}else{
echo"<a href='page.php?count=$back'>السابق</a>|| ";}

$next=$count+$perpage;

if ($next>=$check_end){
echo"التالي";
}else{

echo"<a href='page.php?count=$next'>التالي</a>";}
الرد باقتباس
الرد على الموضوع



إنتقل إلى

مواضيع مشابهة
الموضوع أضاف الدرس القسم الردود آخر مشاركة
مقدمة تاريخية spider دروس هاردوير 0 07-02-2005 05:33 AM
ما هو Dns ؟؟؟؟ هنا ستجد الجواب!! بنت النور دروس الشبكات 0 07-01-2005 05:58 AM

المجلة الإلكترونية - المنتديات - مكتبة البرامج
مكتبة الدروس - قسم الماسنجر
الإتصال بنا - الإعلان لدينا
mesothelioma cancer

Powered by vBulletin