أولاً : تضيف هذا الكود بأعلى الصفحة ( بعد السيشن و تضمين ملف القاعدة بالتأكيد )
كود PHP:
if(!(isset($page)))
{
$page=1;
}
else
{
$page=$_GET['page'];
}
بكل بساطة ، إذا كان المتغير page غير معرف فضع قيمته بـ1 و إلا فاستدعي قيمته من الـGET .
ثانياً : أكواد الاستخراج و التنفيذ على قاعدة البيانات :
كود PHP:
$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
و السطور الأربعة الأخرى عبارة عن استخراج من قاعدة البيانات و حسب عدد السجلات منها
و السطر الأخير عبارة عن عدد الصفحات الكلي و هو بالتأكيد عدد السجلات الكلي ÷ عدد السجلات في كل صفحة
ثالثاً : العرض
كود PHP:
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>";
}
منقول