الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه ahmednet_0001 في 11 يناير 2012 · 2 رد · 949 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم تعلمت درس جديد من خلال بحثى على الانترنت واحببت اضيفة

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

ونبدأ مباشرة فى الدرس

اولا ناسس الاتصال بقاعدة البيانات فى ملف من منصل conf.php

<?php

$mysql_hostname = "localhost";

$mysql_user = "root";

$mysql_password = "";

$mysql_database = "test";

$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password)

or die("Opps some thing went wrong");

mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong");

?

>

ببساطة يتم الاعلان عن المتغيرات اللازمة للاتصال بقاعدة البيانات ومن ثم المتغير bd الذى يحمل الاتصال .

والان الملف الرئيسى وليكن اسمة nav.phph

<?php

include("config.php");

if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };

$start_from = ($page-1) * 10;

اولا تم تضمين ملف الاتصال

ومن ثم نختبر المتغير page الذى سوف يتم تمريرة من خلال رابط لاحق ونضع بقيمتة او نضععة 1 اذا كان فى بداية التشغيل اخر يحمل قيمة بداية عرض السجلات اعتماد على المتغير page

ثم

$sql = "SELECT * FROM countries ORDER BY name ASC LIMIT $start_from,10";

جملة select بيانات الجدول مرتبة حسب الاسم ونستخدم الجملة LIMT والتى تاخذ متغيرين بداية العرض و عدد السجلات

ثم عرض البيانات داخل جدول html بسيط هكذا

$rs_result = mysql_query ($sql)or die(mysql_error());

echo "<table border='1' width='100%' style='border: 3px double #FF0000'>";

echo "<tr style='color: #000000; border: 3px double #0000FF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #00FFFF'> <th>Name</th><th>ID</th> ";

echo " </tr>";

// keeps getting the next row until there are no more to get

while($row = mysql_fetch_assoc($rs_result))

{

echo "<tr style='color: #000000; border: 3px double #0000FF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #CCFFFF'>";

echo "<td align='center'>" . $row['name'] . "</td>";

echo "<td align='center'>" . $row['id'] . "</td>";

echo "</tr>";

}

echo "</table>";

ثم

$sql = "SELECT COUNT(name) FROM countries";

$rs_result = mysql_query($sql);

$row = mysql_fetch_row($rs_result);

$total_records = $row[0];

$total_pages = ceil($total_records / 10);

for ($i=1; $i<=$total_pages; $i++) {

echo "<a href='nav.php?page=".$i."'>".$i."</a> ";

};

?>

استخدمنا select count لمعرفة عدد سجلا الجدول وتم وضعها داخل متغير row

ثم المتغير total_page لمعرفة عدد الصفحات ثم جملة for وداخلها الرابط الخاص بالتنقل بيت الصفحات اعتمادا على المتغير page الذى يتم اختباره فى بداية الصفحة

وهنا استخدمنا الارتباط التشعبى لتمرير المتغير خلال نفس الصفحة والان الكود كامل

اتمنى لكم التوفيق

<?php

include("config.php");

if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };

$start_from = ($page-1) * 10;

$sql = "SELECT * FROM countries ORDER BY name ASC LIMIT $start_from,10";

$rs_result = mysql_query ($sql)or die(mysql_error());

echo "<table border='1' width='100%' style='border: 3px double #FF0000'>";

echo "<tr style='color: #000000; border: 3px double #0000FF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #00FFFF'> <th>Name</th><th>ID</th> ";

echo " </tr>";

// keeps getting the next row until there are no more to get

while($row = mysql_fetch_assoc($rs_result))

{

echo "<tr style='color: #000000; border: 3px double #0000FF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #CCFFFF'>";

echo "<td align='center'>" . $row['name'] . "</td>";

echo "<td align='center'>" . $row['id'] . "</td>";

echo "</tr>";

}

echo "</table>";

$sql = "SELECT COUNT(name) FROM countries";

$rs_result = mysql_query($sql);

$row = mysql_fetch_row($rs_result);

$total_records = $row[0];

$total_pages = ceil($total_records / 10);

for ($i=1; $i<=$total_pages; $i++) {

echo "<a href='nav.php?page=".$i."'>".$i."</a> ";

};

?>

ملحوظة يجب تغير اسماء الجدول والحقول على حسب قاعدة البيانات الخاصة بك مرفق ملف sql به الجدول المستخدم وكذلك ملف php

وهذة صورة لنتائج الكود

navh.gif

table split.rar

1
#2

شكرا ً اخي الكريم على مجهودك بس ياحبذا لو تنسق الموضوع حتى يكون اسهل للقارئ :happy:

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#3

ان شاء الله فى المرة القادمة سيكون افضل هذة اول مشاركة لة كدرس وارجو من الله التوفيق

مواضيع مشابهة