أهلا وسهلا بك زائرنا الكريم في منتدى دعم PBBoard الرسمي، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .

طريقة برمجة تعدد الصفحات واضافتها لصفحات موقعك

درس لعمل كود تعدد صفحات مريح و سهل جدا ان شاء الله اولا الكود كالاتى : ("وسنقوم بشرحة بالتفصل ان شاء الله")::.. طبعا الكود



20-04-2019 08:02 مساءً
معلومات الكاتب ▼
انضم في : 03-06-2013
رقم العضوية : 3,663
المشاركات : 26
الجنس :
قوة السمعة : 320
درس لعمل كود تعدد صفحات مريح و سهل جدا ان شاء الله

اولا الكود كالاتى : ("وسنقوم بشرحة بالتفصل ان شاء الله")::..




CODE
<?php 
// Included file 
include("config.php") ; 
###################################################### 
## Start Paging System ############################## 
##################################################### 
// get page number 
$get = $_GET['page'] ; 
// set page to one if not set 
if (!isset($get)){ 
$get = 1 ;  }else{ 
$get = $_GET['page'] ; } 
// Query for retrieve all data 
$query = mysql_query("select * from test ") ; 
// Maximum records in page 
$max = 3 ; 
// Counting Rows Number 
$count = mysql_num_rows($query) ; 
// Get Number of pages needed 
$div = ceil($count/$max) ; 
$rem = $count % $div  ; 
// if 0 remain from the division 
if($rem == 0 ) { 
$pages = $div ;  } else { 
$pages = $div + 1  ; } 
// next and prev 
$prev = $get - 1 ; 
$next = $get + 1 ; 
// Type Firt record link 
if($get != 1){ 
echo "<a style='text-decoration: none; color: red; font-size: 12pt; font-weight: bold' 
 href='show.php?page=1'> [[First]] </a>" ; } 
// Type Prev record link 
if($get > 1) echo "<a style='text-decoration: none; color: blue; font-size: 12pt; font-weight: bold' 
 href='show.php?page=$prev'> [[Prev]] </a>" ; 
// type pages 
for ($i=1 ; $i <= $pages ; $i++){ 
if ($get == $i){ 
echo "<font size=4 color=violet><b>[$i]  </b></font>" ; }else{ 
echo "<a style='text-decoration: none; color: red; font-size: 14pt; font-weight: bold' 
 href='show.php?page=$i'>$i</a>  " ;}} 
// Type Next record link 
if($get < $div) echo "<a style='text-decoration: none; color: blue; font-size: 12pt; font-weight: bold' 
 href='show.php?page=$next'> [[Next]] </a>" ; 
// Type Last record link 
if($get != $pages){ 
echo  "<a style='text-decoration: none; color: red; font-size: 12pt; font-weight: bold' 
 href='show.php?page=$pages'> [[Last]] </a>" ;  } 
echo "<br>" ; 
// get limit value 
$limit = ($get * $max) - $max  ; 
// Query for retrieve data with limit 
$query2 = mysql_query("select * from test LIMIT  $limit,$max ") ; 
// Data from query 
while ($row = mysql_fetch_array($query2)){ 
####################################################### 
## End Of Paging System ############################## 
##################################################### 
echo $row['id']." - ".$row['test']."<br>" ; } 
  

?>

طبعا الكود زى ما شايفين طويل شوية بس ساهل جدا

الان نبدأ بالشرح ::..





CODE
  <?php 
// Included file 
include("config.php") ;
طبعا هنا نضمن ملف الاتصال بقاعدة البيانات "طبعا احنا عارفين دالة الاتصال بقاعدة البيانات"




CODE
  / get page number 
$get = $_GET['page'] ;
هذا الجزء يقوم بجلب رقم الصفحة ان وجد
مثلا لو تم طلب الصفحة ::.. page.php?page=1





CODE
  // set page to one if not set 
if (!isset($get)){ 
$get = 1 ;  }else{ 
$get = $_GET['page'] ; }
هنا نضع شرط اذا لم ينشأ المتغير page نضع قيمة افتراضية له و هى 1 اى للصفحة الاولى




CODE
  // Query for retrieve all data 
$query = mysql_query("select * from test ") ; 
هذه الكويرى للاتصال بالجدول و هو و لنفرض test




CODE

  // Maximum records in page 
$max = 3 ;

هنا رقم اقصى عدد للبيانات فى الصفحة الواحدة



CODE
  // Counting Rows Number 
$count = mysql_num_rows($query) ;  

الدالة تقوم بجلب عدد الصفوف فى الجدول اعتمادا على الكويرى السابق




CODE
  // Get Number of pages needed 
$div = ceil($count/$max) ; 
$rem = $count % $div  ;  
طبعا هنا فى دالتين الاولى :::

الدالة الثانبة :::
% تقوم بجلب باقى القسمة لرقمين
و هذا الكود لجلب عدد الصفحات اللى نحتاجها

ceil لاخذ القيمة الاقرب لقيمة float عشرية





CODE
  // if 0 remain from the division 
if($rem == 0 ) { 
$pages = $div ;  } else { 
$pages = $div + 1  ; }  
لو ان القسمة بدون باقى اى القسمة منتهية
يكون عدد الصفحات هو ناتج القسمة
اما لو فى باقى فان عدد الصفحات هو ناتج المعادلة الاولى مجموعا عليه واحد




CODE
  // next and prev 
$prev = $get - 1 ; 
$next = $get + 1 ;  
نضبط متغيرات الصفحة التالية و السابقة



CODE
  // Type Firt record link 
if($get != 1){ 
echo "<a style='text-decoration: none; color: red; font-size: 12pt; font-weight: bold' 
 href='show.php?page=1'> [[First]] </a>" ; }  
طبعا هنا نضع لينك للصفحة الاولى حيث ان رقم الصفحة لا يساوى الواحد



CODE
  // Type Prev record link 
if($get > 1) echo "<a style='text-decoration: none; color: blue; font-size: 12pt; font-weight: bold' 
 href='show.php?page=$prev'> [[Prev]] </a>" ;  

هذا كود للينك الصفحة السابقة معتمدا على المتغير السابق $prev





CODE
 // type pages 
for ($i=1 ; $i <= $pages ; $i++){ 
if ($get == $i){ 
echo "<font size=4 color=violet><b>[$i]  </b></font>" ; }else{ 
echo "<a style='text-decoration: none; color: red; font-size: 14pt; font-weight: bold' 
 href='show.php?page=$i'>$i</a>  " ;}}  
هنا كود للصفحات و استخدمنا الدالة for التكرارية لعرض الصفحات
و اذا كان رقم الصفحة هو الصفحة الحالية نضعه بدون رابط





CODE
// Type Next record link 
if($get < $div) echo "<a style='text-decoration: none; color: blue; font-size: 12pt; font-weight: bold' 
 href='show.php?page=$next'> [[Next]] </a>" ; 
// Type Last record link 
if($get != $pages){ 
echo  "<a style='text-decoration: none; color: red; font-size: 12pt; font-weight: bold' 
 href='show.php?page=$pages'> [[Last]] </a>" ;  } 
echo "<br>" ; 
طبعا الكود السابق يوضح لينك الصفحة الاخيرة و الصفحة التالية معتمدا على المتغير اللى ذكرناه
سابقا





CODE
 // get limit value 
$limit = ($get * $max) - $max  ; 
// Query for retrieve data with limit 
$query2 = mysql_query("select * from test LIMIT  $limit,$max ") ; 
// Data from query 
while ($row = mysql_fetch_array($query2)){
هنا نقوم بتحديد الليميت limit او القيمة اللى يبدأ عندها العد
و هى عملية حسابية بسيطة " او مش مفهومة ارجو ابلاغى "

و طبعا الكويرى يجلب البيانات من قاعدة البيانات بتحديد القيمة الى اقصى عدد للصفحات

و الدالة while لجلب البيانات من الجدول



وبالله التوفيق

look/images/icons/i1.gif طريقة برمجة تعدد الصفحات واضافتها لصفحات موقعك
  22-04-2019 08:50 مساءً   [1]
معلومات الكاتب ▼
انضم في : 03-03-2014
رقم العضوية : 5,072
المشاركات : 1,639
الجنس :
الدعوات : 2
قوة السمعة : 8,530
شكرا لك لمشاركتنا الموضوع

look/images/icons/i1.gif طريقة برمجة تعدد الصفحات واضافتها لصفحات موقعك
  05-05-2019 04:28 مساءً   [2]
معلومات الكاتب ▼
انضم في : 05-05-2019
رقم العضوية : 8,423
المشاركات : 3
الجنس :
تاريخ الميلاد : 18-1-1990
قوة السمعة : 0
thanks for your effort mf

رد جديد موضوع جديد




الكلمات الدلالية
طريقة ، برمجة ، تعدد ، الصفحات ، واضافتها ، لصفحات ، موقعك ،









الساعة الآن 03:30 PM