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







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

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



20-04-2019 08:02 مساء
mons
عضـو مشارك
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-06-2013
رقم العضوية : 3663
المشاركات : 20
الجنس : ذكر
قوة السمعة : 320
PBBoard Version : 3.0.0
 offline 
 درس لعمل كود تعدد صفحات مريح و سهل جدا ان شاء الله 

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

 
<?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'>&nbsp;[[First]]&nbsp;</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'>&nbsp;[[Prev]]&nbsp;</a>" ; 
// type pages 
for ($i=1 ; $i <= $pages ; $i++){ 
if ($get == $i){ 
echo "<font size=4 color=violet><b>[$i]&nbsp;&nbsp;</b></font>" ; }else{ 
echo "<a style='text-decoration: none; color: red; font-size: 14pt; font-weight: bold' 
 href='show.php?page=$i'>$i</a>&nbsp;&nbsp;" ;}} 
// 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'>&nbsp;[[Next]]&nbsp;</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'>&nbsp;[[Last]]&nbsp;</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']."&nbsp;- ".$row['test']."<br>" ; } 
  

?>

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

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


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

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


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

 
  // Query for retrieve all data 
$query = mysql_query("select * from test ") ; 
 
هذه الكويرى للاتصال بالجدول و هو و لنفرض 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  ;  
طبعا هنا فى دالتين الاولى ::: 

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

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

  // 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'>&nbsp;[[First]]&nbsp;</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'>&nbsp;[[Prev]]&nbsp;</a>" ;  

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


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


 
 
  
// 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'>&nbsp;[[Next]]&nbsp;</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'>&nbsp;[[Last]]&nbsp;</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)){
  
هنا نقوم بتحديد الليميت limit او القيمة اللى يبدأ عندها العد 
و هى عملية حسابية بسيطة " او مش مفهومة ارجو ابلاغى " 

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

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



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

 

22-04-2019 08:50 مساء
مشاهدة مشاركة منفردة [1]
kareem
عضـو بـارز
rating
العضو غائب الدراسة
معلومات الكاتب ▼
تاريخ الإنضمام : 03-03-2014
رقم العضوية : 5072
المشاركات : 1131
الجنس : ذكر
الدعوات : 2
قوة السمعة : 6910
موقعي : زيارة موقعي
عدد الإجابات: 109
PBBoard Version : 3.0.3
 offline 
look/images/icons/i1.gif طريقة برمجة تعدد الصفحات واضافتها لصفحات موقعك
شكرا لك لمشاركتنا الموضوع

توقيع :kareem
0

05-05-2019 04:28 مساء
مشاهدة مشاركة منفردة [2]
fatn
عضـو مشارك
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 05-05-2019
رقم العضوية : 8423
المشاركات : 3
الجنس : أنثى
تاريخ الميلاد : 18-1-1990
قوة السمعة : 0
PBBoard Version : غير محدد
 offline 
look/images/icons/i1.gif طريقة برمجة تعدد الصفحات واضافتها لصفحات موقعك
thanks for your effort mf




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


 







الساعة الآن 07:46 صباحا