| ||||||||||||||
| الدروس | السكريبات | كتب برمجية | ساحات الحوار | المقالات التقنية | سجل الزوار | PHP FAQ | لوحة التحكم | اتصل بي | ||||||
|
|
أولاً : تضيف هذا الكود بأعلى الصفحة (
بعد السيشن و تضمين ملف القاعدة بالتأكيد ) Code.. Code.. Code..
>> أضف
درس جديد <<
الدرس : كيف
تنشئ تعدد الصفحات ؟
الكاتب : Dr.no
if(!(isset($page)))
{
$page=1;
}
else
{
$page=$_GET['page'];
}
بكل
بساطة ، إذا كان المتغير page غير معرف فضع قيمته بـ1 و إلا
فاستدعي قيمته من الـGET .
ثانياً : أكواد الاستخراج
و التنفيذ على قاعدة البيانات :
$max=10; // عدد السجلات في كل
صفحة
$from=($max*$page)-$max;
$sql =
mysql_query("select * from [tablename]"); // يجب أولاً
اختيار جميع السجلات من الجدول
$num_sql =
mysql_num_rows($sql); // عدد السجلات جميعها
$sql1 =
mysql_query("select * from [tablename] limit
$from,$max"); // اختيار السجلات من المتغير from إلى
المتغير max
$num_sql1 = mysql_num_rows($sql1); // عدد
السجلات المحددة
$pages=ceil($num_sql/$max); // عدد
الصفحات
انتهينا
من العمل على القاعدة و تبقى الشرح
المتغير max لتحديد عدد
السجلات في الصفحة الواحدة
المتغير from هو المتغير الذي
سيبدأ من عنده الاختيار و هو بالتأكيد سيكون رقم
افرض مثلاً
أن متغير الصفحة page هو 5 و المتغير max هو 10 فتطبيقاً للعملية
الحسابية
المتغير from يساوي 40 أي أنه في الصفحة الخامسة
ستبدأ السجلات من 40 و سيكون الحد الأقصى 10 أي من 40 إلى
50
و السطور الأربعة الأخرى عبارة عن استخراج من قاعدة
البيانات و حسب عدد السجلات منها
و السطر الأخير عبارة عن عدد
الصفحات الكلي و هو بالتأكيد عدد السجلات الكلي ÷ عدد السجلات في
كل صفحة
ثالثاً : العرض :
if($page>1) // إذا كانت الصفحة الحالية
أكبر من واحد فأكيد فيه صفحات أخرى
سابقة
{
$prev=$page-1;
echo"<a
href=".$PHP_SELF."?page=$prev>السابق</a>";
}
for($i=1;$i<=$pages;$i++)
// حلقة تكرار
{
if($page==$i) echo"[$i]"; // أمر
طباعة الصفحة الحالية دون وصلة
else
{
echo"<a
href=".$PHP_SELF."?page=$i>$i</a>";
}
}
if($page<$pages)
// إذا كانت الصفحة الحالية أصغر من عدد الصفحات الكلي
فأكيد فيه صفحات أخرى
تالية
{
$next=$page+1;
echo"<a
href=".$PHP_SELF."?page=$next>التالي</a>";
}
انتهى
الشرح
و بالتوفيق إن شاء الله
الفكرة و الأكواد مقتبسة من
phpfreaks.com
و السلام عليكم
Dr.no
| ||||
|
|
جميع الحقوق محفوظة لـ بي اتش بي العرب . برمجـة و تصميم : Mr.php-ar . استغرق تنفيذ الصفحة : 0.43386 ثانية |