نعلم جميعًا أنه من السهل جدًا والمثير للاهتمام استخدام php+mysql لعرض جميع معلومات قاعدة البيانات على صفحة الويب. عندما تكون معلومات قاعدة البيانات صغيرة جدًا، يظل عرض الصفحة مرضيًا، ولكن عندما يكون هناك الكثير من معلومات قاعدة البيانات. عرض الصفحة سيصبح الوضع سيئًا للغاية، دعنا نقدم كيفية عرض عدد البيانات في الصفحة الحالية وكيفية تنفيذ وظيفة الوجه الديناميكي،
وسنقدم هنا تنفيذ وظيفتين لعرض قلب الصفحة:
-------------------------------------------------- ----------
اسمحوا لي أولاً أن أقدم بناء جملة قاعدة البيانات المستخدمة في قلب الصفحة:
mysql_query("select * from table order by id desc");
بيان قاعدة البيانات هذا مألوف جدًا، ويتم استخدامه للبحث عن السجلات وعرضها بترتيب عكسي إنه يلعب دورًا في وظيفة قلب الصفحة، وبناء الجملة الموسع التالي هو الوظيفة الأساسية لقلب الصفحة:
mysql_query
("select * from table order by id desc Limit $start,$limit");
سطر البداية للبحث، الحد $، هو البحث من سطر البداية إلى نهاية سجلات الحد $. حسنًا، باستخدام هذه الوظيفة الأساسية، يمكننا بدء وظيفة قلب الصفحة؛
-------------------------------------------------- ----------
وظيفة قلب الصفحة الأولى:
الوظيفة المقدمة هنا هي أبسط وظيفة من بين وظائف قلب الصفحة، حيث يمكنها فقط تحقيق تقليب الصفحة للأمام
والخلف وظيفة تحويل الصفحة:
سجلات
البيانات التي يتم عرضها بشكل ثابت في الصفحة الحالية. افترض أن هناك 20 سجلاً. قم بتعيين قيمة $limit إلى 20: $limit=20;
لذا قم بتعيين $start هنا، القيمة الأولية هي 0: $start=0؛
ويعتمد تحقيق وظيفة قلب الصفحة على التغيير الديناميكي لـ $start، عند قلب الصفحة للخلف، يضيف $start بانتظام $limit: $start+ $limit; وعند تحويل الصفحة للأمام $start ثم يطرح $limit بانتظام: $start-$limit;
باستخدام الأفكار المذكورة أعلاه، يمكنك البدء في تصميم صفحة البرنامج. php:
<?
// قم بتعيين الرقم المعروض على الصفحة الحالية (يمكن ضبط هذا الرقم بشكل تعسفي)
$limit=20;
// تهيئة سجل بدء البحث في قاعدة البيانات
if (!empty($start)) $start=0
;
mysql_select_db(database);
// قم بتعيين العدد الإجمالي لسجلات قاعدة البيانات
$result=mysql_query("اختر * من الجدول");
$num_max=mysql_numrows($result);
$result=mysql_query("اختر * من ترتيب الجدول حسب حد تعريف المعرف $start,$limit);
$num=mysql_numrows($result);
echo
"<table><tr><td>وظيفة قلب الصفحة</td></tr>";
لـ ($i=0;$i<$num;$i++) {
$val=mysql_result($result,$i,"val");
$val1=mysql_result($result,$i,"val1");
صدى "<tr><td>$val</td><td>$val1</td></tr>";
}
}
echo "<tr><td>";
// اضبط الصفحة للأمام Jump
$prve=$start-$limit;
إذا ($prve>=0) {
echo "<a href=page.php?start=$prve>prve</a>";
}
// اضبط الانتقال إلى الصفحة للخلف
$next=$start+$limit;
إذا ($التالي<$num_max) {
echo "<a href=page.php?start=$next>next</a>";
}
صدى "</td></tr></table>";
?>
تم الانتهاء من برنامج به وظائف التقليب للأمام والخلف، ومع ذلك، ستكون هذه الوظيفة مرهقة للغاية عند معالجة المزيد من البيانات لعرضها لقد أطلقنا عليها دائمًا هذا الاسم، لأنني لا أستطيع العثور على اسم أكثر ملاءمة). :)
تم تقديم وظيفة تقليب الصفحة البسيطة سابقًا، وتعد وظيفة تقليب الصفحة المقدمة أدناه أكثر قوة وتعقيدًا، وهو منتدى خاص جدًا في هذا الشأن تستخدم المقالة في الموقع وظيفة تحويل الصفحة الحلقية هذه.
يتم تحقيق التقليب الدوري للصفحة عن طريق الدوران للأمام والخلف مع الأرقام. التعبير المحدد هو:
page: prve <<1 2 3 4 ....... 20 >>
تمثل الأرقام التالية كل صفحة حالية ولم تعد عمليات التقليب للخلف مجرد عمليات تقليب للأمام والخلف للصفحة الحالية، بل هي عمليات تقليب أمامية وخلفية أكثر تعقيدًا يتم التحكم فيها رقميًا،
كما هو الحال دائمًا، قبل الشروع في تصميم البرنامج، يرجى توضيح أفكارك أولاً وظيفة قلب الصفحات في حلقة، يمكنك ممارستها بنفسك، لأن بعض الأساليب والأفكار التي تمت دراستها هنا قد تكون مجردة نسبيًا.
أولاً، نفترض بجرأة أن هناك أكثر من 1000 سجل في قاعدة البيانات المعروض حاليا، ورقم التحكم بالقلب هو 20، إذن تكون نتيجة العرض التالية:
الصفحة: 0 1 2 3 ......... 19 >>
نتيجة العرض التالية بعد التقليب:
الصفحة: prve <<20 27 28 ... .... 49 >> التالي حسنًا
، دعونا نلقي نظرة على القواعد. رقم العرض الثابت هو 25، والرقم الثابت يتحكم في مضاعفة 20. يمكننا استخدام هذين الرقمين لتنفيذ تقليب الصفحة. الوظيفة؛
المجموعة الأولى من المتغيرات المعروضة الثابتة:
الحد $=20;
إعدادات المتغير الأولي لقاعدة البيانات:
$بداية=0;
إجمالي عدد سجلات قاعدة البيانات هو: $num;
متغير رقم الصفحة: $page;
برنامج عرض حلقة رقم الصفحة كما يلي:
<?
...
$result=mysql_query("اختر * من الجدول");
$num=mysql_numrows($result);
for ($page=0;$page<($num/$limit);$page++) {
صدى صفحة $؛
إذا ($page>0 && ($page%20)==0) {
استراحة // الخروج من الحلقة
}
}
?>
باستثناء عرض الأرقام، لا يقوم هذا الرمز بتنفيذ أي وظائف أخرى نظرًا لوجود المزيد من الأرقام للتحكم في التقليب، ويجب استخدام عدة متغيرات لتحديد كميات التحكم هذه وتحديدها يستخدم للتحكم في التحكم في قلب الصفحة الرقمية، يمكنك الآن إلقاء نظرة على صفحة التعليمات البرمجية الكاملة.php التي تنفذ دورة تقليب الصفحة:
<?
الحد $=25;
إذا (! فارغة($start)) $start=0;
if (!empty($s)) $s=0
;
mysql_select_db(database);
// العدد الإجمالي لسجلات قاعدة البيانات الإحصائية
$result=mysql_query("اختر * من الجدول");
$num=mysql_numrows($result);
$result=mysql_query("اختر * من ترتيب الجدول حسب حد المعرف $start,$limit");
$num=mysql_numrows($result);
صدى "<جدول>";
إذا (! فارغة($numb)) {
for($i=0;$i<$numb;$i++) {
$val=mysql_result($result,$i,"val");
$val1=mysql_result($result,$i,"val1");
صدى "<tr><td>$val</td><td>$val1</td></tr>";
}
}
echo "</table>";
// التحكم في تقليب الصفحة الرقمية
صدى "<جدول>";
echo "<tr><td>الصفحة:</td>";
// التحكم بالقلب للأمام
إذا ($s> 20) {
إذا ($s==21) {
$st=$s-21;
} آخر {
$st=$s-20;
}
$pstart=$st*$limit;
صدى "<td><a href=page.php؟";
echo "start=$pstart&s=$st>prve</a></td>";
}
echo "<td> >></td>";
// قم بتعيين عدد الصفحات المقابلة للصفحة الحالية بدون وظيفة الارتباط
$star=$start;
// انتبه إلى القيمة الأولية للحلقة وفكر مليًا في سبب كونها ليست 0
for ($page=$s;$page<($num/$limit);$page++) {
$start=$page*$limit;
"
;
صدى "<a href=page.php؟";
صدى "start=$start&s=$s>";
}
echo $page
if($page!=$star/$limit) {
صدى "</a>";
}
echo "</td>";
// التحكم في وظيفة عرض حدود الصفحات الرقمية، والتحكم في عرض 20 صفحة فقط
إذا ($page>0 && ($page%20)==0) {
إذا ($s==0) {
$s=$s+21;
} آخر {
$s=$s+20;
}
$start=$start+$limit
if ((($num/$limit)-1)>$page) {
صدى "<td> <<</td><td><a href'page.php؟";
echo "start=$start&s=$s>التالي</a></td>";
}
// انتبه للتحكم في القفز خارج الحلقة
استراحة؛
}
}
صدى "</tr></table>";
?>
يمكن للبرنامج أعلاه إكمال وظيفة تقليب الصفحة القوية.
وهناك أيضًا وظيفة تقليب الصفحة وهي تحويل صفحة الإرسال، أي إضافة إرسال البيانات في نموذج الإرسال، ثم ينتقل البرنامج إلى الصفحة المقابلة من السهل نسبيًا تنفيذه، وسأترك الأمر للقراء لإكماله بأنفسهم، ولن أعرضه هنا...