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

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

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



20-04-2019 08:02 مساءً
معلومات الكاتب ▼
انضم في : 03-06-2013
رقم العضوية : 3,663
المشاركات : 29
الجنس :
تاريخ الميلاد : 21-5-1987
قوة السمعة : 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'>&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>" ; } 
  

?>


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



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







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


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








CODE
 // 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 التكرارية لعرض الصفحات

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







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'>&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>" ; 
طبعا الكود السابق يوضح لينك الصفحة الاخيرة و الصفحة التالية معتمدا على المتغير اللى ذكرناه

سابقا







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

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




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









الساعة الآن 08:16 PM