بسم الله الرحمن الرحيم
السلام عليكم ورحمه الله وبركاته
اليوم سنتناول تقسيم النتائج الصفحة الاولى السابق 1 2 3 4 5 التالي الصفحة الاخيرة حتى يكون لدينا علم بها هي عمليات حسابية كالقسمة والاضافة وعدة شروط واجب توافرها لتقسيم النتائج سنحاول بقدر الامكان ايصال المعلومات عنها واسأل الله بان تكون واضحة للكل رغم محاولتي جاهداً بشرح طريقةها رغم انها سهلة وسطورها البرمجية بسيطة الا ان شرح طريقةها يطوووول لانه عمليات الرياضيات بها قد تكون جديدة عليكم واستعلامها ايضاً جديد خاصتاً limit المحدودية وسنتناولها كلها بأذن الله وبتوفيق المثال مرفق معليش الصوت بس لانه مريض ماخذ برد : ,
الناتج
الجزء الاول
http://www.youtube.com/watch?v=AFEgeCrCQ5c
الجزء الثاني
http://www.youtube.com/watch?v=0NUEXVcBZkk
الجزء الثالث
http://www.youtube.com/watch?v=QlCO2nHjtrI
الجزء الرابع
http://www.youtube.com/watch?v=qqpYYswdg5s
الجزء الخامس
http://www.youtube.com/watch?v=63tl07fyPiA
لتحميل الجزء الاول
4shared.com - online file sharing and storage - download 064_php_pageintion_part1.mov
لتحميل الجزء الثاني
4shared.com - online file sharing and storage - download 064_php_pageintion_part2.mov
لتحميل الجزء الثالث
4shared.com - online file sharing and storage - download 064_php_pageintion_part3.mov
لتحميل الجزء الرابع
4shared.com - online file sharing and storage - download 064_php_pageintion_part4.mov
لتحميل الجزء الخامس
4shared.com - online file sharing and storage - download 064_php_pageintion_part5.mov
المشروع
بداية الملف
رمز PHP:
<code style="white-space:nowrap"> <code> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir='rtl' xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>مدرس مفصلة كليبرز</title>
<style type="text/css">
.pager {
text-decoration: none;
padding: 1px;
margin: 1px;
border: 1px dotted #CCC;
background-color:#f8f8f8 ;
color: #555;
font-family: Tahoma;
font-size: 12px;
}
.pager:hover {
text-decoration: none;
padding: 1px;
margin: 1px;
border: 1px solid #CCC;
background-color:#555 ;
color: #FFF;
}
</style>
</head>
<body>
</code> </code>
المنتصف
رمز PHP:
<code style="white-space:nowrap"> <code> <?php
#
# Product Name : Pagination
# Coding By : Youssef Esmail
# Copyright © 2014 - 2014 By Cliprz
#
############ اتصالك مع القاعدة واذا كنت تستخدم كونفق اجلبه هنا ############
$con = mysql_connect('localhost','root','root') or die ("Not Connected");
mysql_select_db("cliprz-php",$con) or die ("Not selected database");
################################################## #########################
# محتوى الصفحة في الهيدر header
$gpage = $_GET['page'];
$numpage = 3; # عدد النتائج التي تريد يبدء التقسيم منها
$pagename = 'page.php'; # اسم صفحتك الموجود فيها التقسيم
# استعلام لعدد النتائج
$querynum = mysql_num_rows(mysql_query("select * from users")) or die (mysql_error());
# نتائج القاعدة كلها تقسيم عدد حقول الظهور
$len = intval($querynum / $numpage);
# اذا لم يكن هناك بدء ابدء من الصفر
if (!$gpage) {
$gpage = 0; # www.cliprz-php.com/page.php?page=0 صفحة بدء التعداد من الصفر
}
$gpage = str_replace('-','',$gpage); # حذف الناقص من الرابط ان كان موجود
if ($gpage > $querynum) { # اذا كانت الصفحة اكبر من عدد نتائج الحقول يطبع
die ("404 : Not Found page");
}else if (!(is_numeric($gpage))) { # اذا لم يكن ناتج الصفحة رقمي سيطبع الخطأ
die ("Not numeric");
}
## عرض النتائج تحضيراً لعرضها بالوايل اللوب
$show = mysql_query ("select * from users limit $gpage,$numpage") or die (mysql_error());
# اللوب
while ($row = mysql_fetch_object($show)) {
echo $row->id." ".$row->name." ".$row->email."<br />";
}
# سطر جديد %_%
ECHO "<br />";
# زر التالي
$next = intval($gpage + $numpage);
# زر السابق
$prev = intval($gpage - $numpage);
# اذا كانت الصفحة اكبر من الصفر سيطبع ازرار الصفحة الاولى والسابق
if ($gpage > 0) {
echo "<a class='pager' href='".$pagename."?page=0'>الصفحة الاولى</a>";
echo "<a class='pager' href='".$pagename."?page=".$prev."'>السابق</a>";
}
# الارقام
$numric = 1; # حتى يبدء الترقيم من واااااحدويصبح الناتج 12345 الى ماتنتهي النتائج
for ($x = 0; $x<$querynum;$x=$x+$numpage) { # حلقة فور اذا كان اكس يساوي صفر وطالما ان اكس اقل من نتائج حقول القاعدة سيزيد على التقسيم واحد
# في حال كان الزر غير مضغوط عليه سيطبع الارقام بشكل اعتيادي
if ($gpage != $x) {
echo "<a class='pager' href='".$pagename."?page=".$x."'> ".$numric." </a>";
}else{ # في حال كان الزر مضغوط عليه سيضعه بين الخط العريض حتى يوضح هو في اي صفحة
echo "<a class='pager' href='".$pagename."?page=".$x."'><strong> ".$numric." </strong></a>";
}
$numric++; ## زيادة واحد على البدء الاوهو الموجود فوق كان 1 عند الزيادة 2 وهكذا
}
# اذا كان طلب الصفحة يساوي او اكبر من نتائج القاعدة سيختفي زر التالي والصفحة الاخيرة
if (!($gpage >=$querynum - $numpage)) {
echo "<a class='pager' href='".$pagename."?page=".$next."'>التالي</a>";
$end = intval($querynum - 1);
echo "<a class='pager' href='".$pagename."?page=".$end."'>الصفحة الاخيرة</a>";
}
//www.cliprz-php.com/page.php?page=0
# مهم جداً حفظ الصفحة بترميز utf-8 without bom
?> </code> </code>
النهاية
رمز PHP:
<code style="white-space:nowrap"> <code> </body>
</html>
</code> </code>
الحفظ بصيغة : utf-8 without bom
والسلام عليكم ورحمه الله وبركاته