هذا عمل بسيط لتعدد الصفحات .. برمجته دون الاطّلاع على ملفات سابقة ، إن وجدتم أي تشابه فهوَ لتشابه الهدف ..
ميزة السكربت :
[1] روابط للصفحة الأولى و الأخيرة في الحالات المناسبة .
[2] امكانيّة اختيار عدد الروابط التي تظهر قبل و بعد الصفحة المحدّدة .
وضعت الشروط بشكلٍ مستعجل و أعرف تماماً ان هناك إمكانية لحصرها و اختصارها ..
المثال المطروح جلب اسم عضو من قاعدة بيانات من الجدول [table] ، عند التجربة غيّرها إلى ما يلزم .
الكود بين أيديكم :
مثال لتطوير السكربت :كود PHP:
<html dir=rtl>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<center><font face="Tahoma" size="3">
<?
// Powered by Omars
include("c/config.php");
/*
اكتب في المتغير التالي عدد النتائج في كل صفحة
*/
$end=1;
/*
اكتب في المتغير التالي عدد الروابط التي ستظهر قبل الصفحة المختارة و بعدها
*/
$show=3;
//
$start=$page*$end-$end;
$Sql = "select * from [table] order by id DESC LIMIT $start,$end";
$user = mysql_query($Sql);
If ($user)
{
while ($Row = mysql_fetch_array($user))
{
$name=$Row[name];
Echo $name."<br>";
}
}
$Sql2 = "select * from [table]";
$user2 = mysql_query($Sql2);
$rows=mysql_num_rows($user2);
$links=$rows/$end;
$lastlink=ceil($links);
if ($lastlink!=1 ) {
if (($lastlink<=$page+$show and $page-$show>1) or ($page-$show>1) ) { Echo "<a title='أول صفحة' href=$PHP_SELF?&page=1>«</a> ..";}
if ($page-$show<1) { for ($i=1 ;$i<=$page-1 ;$i++) Echo "<a href=$PHP_SELF?&page=$i>[$i]</a>"; }
if ($page-$show>=1) { for ($i=$page-$show ;$i<=$page-1 ;$i++) Echo "<a href=$PHP_SELF?&page=$i>[$i]</a>"; }
if ($lastlink>$page+$show) { Echo "[$page]"; for ($i=$page+1 ;$i<=$page+$show ;$i++) { Echo "<a href=$PHP_SELF?&page=$i>[$i]</a>";} Echo " .. <a title='آخر صفحة' href=$PHP_SELF?&page=$lastlink>»</a>"; }
if ($lastlink<=$page+$show) { Echo "[$page]"; for ($i=$page+1 ;$i<=$lastlink ;$i++) Echo "<a href=$PHP_SELF?&page=$i>[$i]</a>"; }
}
?>
كود PHP:
if ($lastlink>2 )
echo "عرض الصفحة : $page من $lastlink" ;