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

شبكة ابن الخليج

Sitemap | Archive | Tag Could
معهد مطور - ينتهي الإعلان بتاريخ 16\10\2008
التسجيلالبحثمشاركات اليوماجعل جميع المنتديات مقروءةالأرشيف

منتديات نظرة حب - ينتهي الاعلان بتاريخ 6\11\2008جديد برامج وأخبار الالعابالرَّقائق دعوة لترقيق القلوب - ينتهي الاعلان بتاريخ 6\11\2008
كل مايخص المرأة والمجتمعاجمل واروع الصورنغمات إنتظار الشادي - ينتهي الاعلان بتاريخ 6\11\2008

عمل زر السابق والتالي في عرض صفحات نتائج الاستعلام

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

العودة شبكة ابن الخليج> منتديات تعليمية> دروس برمجة مواقع

رد
 
LinkBackأدوات الموضوعطرق مشاهدة الموضوع
قديم 04-30-2006, 11:09 مساءً   #1 (permalink)
اسرة ابن الخليج
 
الصورة الرمزية الهوى ماهو كلام
 
تاريخ التسجيل: Jul 2005
الدولة: *K S A*
المشاركات: 4,844
معدل تقييم المستوى: 655الهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيط
إرسال رسالة عبر مراسل ICQ إلى الهوى ماهو كلامإرسال رسالة عبر مراسل MSN إلى الهوى ماهو كلامإرسال رسالة عبر مراسل Skype إلى الهوى ماهو كلام
عمل زر السابق والتالي في عرض صفحات نتائج الاستعلام


مقدمة :

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

تخيل انه لديك في قسم من اقسام موقعك 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{
{"|| <a/> السابق< echo"<a href='page.php?count=$back


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

next=$count+$perpage$

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

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


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

الكود كاملا :

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
ll "l السابق echo
}else{
{"|| <a/> السابق< echo"<a href='page.php?count=$next

$next=$count+$perpage

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

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





من مواضيع الهوى ماهو كلام في المنتدى

الهوى ماهو كلام غير متواجد حالياً   رد مع اقتباس
قديم 08-30-2006, 05:59 صباحاً   #2 (permalink)
ღ: k y:ღ

 
الصورة الرمزية كرم العربي
 
تاريخ التسجيل: Apr 2006
الدولة: ::In De GhEtTo::
المشاركات: 14,535
معدل تقييم المستوى: 53كرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيط
إرسال رسالة عبر مراسل MSN إلى كرم العربي
مشاركة: عمل زر السابق والتالي في عرض صفحات نتائج الاستعلام

شكرا لك اخوي الهوي ,,,





من مواضيع كرم العربي في المنتدى
كرم العربي غير متواجد حالياً   رد مع اقتباس
رد

العبارات الدلالية
عمل, عرض



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
طرق مشاهدة الموضوع

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

BB code is متاحة
كود [IMG]متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

المواضيع المتشابهه
الموضوعكاتب الموضوعالمنتدىمشاركاتآخر مشاركة
محمد بن عبد الله بن عبد المطلب (رسول الله عند المسلمين)صحوة العراقشخصية و تاريخ105-31-2008 03:53 صباحاً
جهاد الإسلاميين في فلسطينSniper deathشخصية و تاريخ004-15-2008 10:43 مساءً
اتصالات مصر تعلن عن مفاجأة في أعداد المشتركين قريباًالأخـبــارهواتف نقالة008-27-2007 07:00 صباحاً
الآن سنتعرف على الكثير من بلدان العالم وسبب إختيارها لألوان أعلامهاكرم العربيحوارات ثقافية عامة802-15-2007 05:04 صباحاً
النص الحرفي لتقرير ميليس حول اغتيال الحريري ..الهوى ماهو كلامحوارات ثقافية عامة810-26-2005 02:59 صباحاً


منتديات شبكة ابن الخليج

ثقافات شامية ثعلب الصحراء شاعر العرب كتب التاريخ المعجم الوجيز فن القيادة الدوري الاوروبي الدوري الأسبانيالدوري الإيطاليالدوري البرتغالي Lotus غرائب العاب و مسابقات ثقافية الأناقة نقشات حناء أمراض المعدة أناقه ملابس داخلية المطبخ الهندي غرف شمسية الأناقة برامج خدمات البريد الاكتروني برامج عامة برامج الجدر النارية برامج تعديل فيلم طلبات المساعدة وتبادل الخبرات افلام اجنبية افلام عربية للتحميل افلام خيال علمى مسلسلات امريكية سالي العاب البلاستيشن العاب فلاشية fish ألعاب ps2 فرسان ترافيان فلاتر صور كاريكاتير كاميرات رقمية وتقنية صور جوال فلسطين العاب نوكيا الأناقة دروس عامه للمبتدئين دروس اكسارا دروس فوتوشوب Adobe Photoshopدروس ايميج ريدي Adobe ImageReadyدروس افتر افكت Adobe After Effect دروس مونتاج برنامج adobe illustrator Lightwave دروس الثري دي ماكس دروس سويتش دروس ماي سكيول دروس اكسل دروس WINDOWS لينكس و يونكسوندوز WINDOWS دروس C++ الأناقة مكتبة الهاكات مكتبة هاكات قسم ستايلات vBulletinمجلة المنتديات mkPortalقسم ستايلات مجلة المنتديات mkPortal Stylesسكربتات وادوات تطوير المواقعمشاكل وحلول الـ مواقع برمجة سكربتات فوتوشوبCinema 4Dخامات فوتوشوبفرش فوتوشوباكشن فوتوشوباشكال فوتوشوبمنتديات اماراتيةدليل مواقعاكتشف شخصيتكاخبارموسوعة الأطفالبوربوينتtorrentاختصار الروابطPageRankتوقيع لاميلكصانع القليترGlitter


الساعة تعتمد على توقيت جرينتش +3. الساعة الآن 07:33 مساءً.
Search Engine Optimization by vBSEO 3.1.0

Valid XHTML 1.0 Transitional Valid CSS!Powered by vBulletin® Version 3.7.1,
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
Feeds:   XML   JS   RSS   RSS Feed