English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مثال بسيط على تنفيذ ميزة الصفحة السابقة والصفحة التالية باستخدام PHP

هذا المثال يشرح كيفية تحقيق وظيفة السابق والالتالي البسيطة في PHP. نشاركها معكم للاستفادة منها، ويتمثل فيما يلي:

تنظيم الأفكار:

الآن، العديد من الناس يستخدمون زيادة أو نقصان id لتحقيق التالي والسابق، ولكن هل يمكن أن يتوقف ID المقال؟ لذا يجب أن تعرف ID السابق والاحتمالي هو مافي الحاجة إليه.

كيف يمكن حل هذه المشكلة؟ بسيط جداً!

مثال:

افترض أن ID هذا المقال هو 200

<a href="?action=up&id=200">السابق</a>
<a href="?action=down&id=200">التالي</a>

إذا كان الهدف هو السابق، قم بكتابة الدالة في صفحة action=up

$id= $_GET['id'];
//السابق:
$sql= select * from article where id < '.$id.' order by id desc limit 0,1';
$rs = mysql_query($sql);
$row = mysql_fetch_array ($rs);
//التالي:
$sql= select * from article where id < '.$id.' order by id asc limit 0,1';
$rs = mysql_query($sql);
$row = mysql_fetch_array ($rs);

المبدأ، استعلامات لاسترداد البيانات الأصغر من المعرف الحالي (where id < '.$id.' المقالة السابقة) والأكبر من المعرف الحالي (where id > '.$id.' المقالة النائية) ببيانات واحدة (limit 0,1)، وتنظيمها بتنازلي (desc، المقالة السابقة) واستثنائي (asc، المقالة النائية). يمكن تجاهل التنظيم إذا كان يتم استرداد مقال واحد فقط.

المبرمجية التفصيلية: يحتاج إلى نقل المعلمات

يتم استدعاء المقالة السابقة والنائية من الواجهة الأمامية:

<?php
 echo GetPreNext(pre,news,$_REQUEST[catid],$_REQUEST[id]);?>
//عرض المقالة السابقة والنائية
 function GetPreNext($gtype,$table,$catid,$id){
 $preR = mysql_fetch_array(mysql_query("select * from ".$table." where catid=".$catid." and id<$id order by id desc limit 0,1"));//id أصغر من المعرف المدخل أحدث
 $nextR = mysql_fetch_array(mysql_query("select * from ".$table." where catid=".$catid." and id>$id order by id asc limit 0,1"));//id أكبر من المعرف المدخل أحدث
  $next = (is_array($nextR) ? " where id={$nextR['id']} " : ' where 1>2 ');
  $pre = (is_array($preR) ? " where id={$preR['id']} " : ' where 1>2 ');
   $query = "Select * from ".$table." ";
      $nextRow = mysql_query($query.$next);
      $preRow = mysql_query($query.$pre);
      إذا ($PreNext = mysql_fetch_array($preRow))
      {
       echo $PreNext['pre'] = "الجزء السابق: <a href='newsshow.php?id=".$preR['id']."&&catid=".$catid."'>".$PreNext['title']."</a> ";
      {}
      else
      {
       echo $PreNext['pre'] = "الجزء السابق: لم يكن هناك ";
      {}
      if($PreNext=mysql_fetch_array($nextRow))
      {
       echo $PreNext['next'] = "الجزء التالي: <a href='newsshow.php?id=".$nextR['id']."&&catid=".$catid."'>".$PreNext['title']."</a> ";
      {}
      else
      {
        echo $PreNext['next'] = "الجزء التالي: لم يكن هناك ";
      {}
{}

تم اختبار الكود واستخدامه

يمكن للقراء المهتمين بمزيد من المعلومات حول PHP التحقق من موضوعات هذا الموقع: 'جمعية المهارات في عمليات قاعدة البيانات الشائعة لـ PHP'، 'دليل شامل لتعاملات PHP (Array)'، 'إجمالي خوارزميات الترتيب لـ PHP'، 'خوارزميات التدوير والأساليب الشائعة لـ PHP'، 'تعليمات بنية البيانات والخوارزميات لـ PHP'، 'إجمالي خوارزميات البرمجة للبرمجة في PHP'، 'إجمالي مهارات الحسابات الرياضية لـ PHP'، 'إجمالي استخدام التعبيرات النمطية لـ PHP'، 'إجمالي استخدام العمليات والعمليات الحسابية لـ PHP'، و 'إجمالي استخدام النصوص (string) لـ PHP'.

آمل أن يساعدكم ما ذكرته في هذا المقال في تصميم برامج PHP الخاصة بكم.

إعلان: محتوى هذا المقال تم جمعه من الإنترنت، ويتمتع المالك الأصلي بحقوق الملكية، ويتم جمع المحتوى من قبل المستخدمين عبر الإنترنت الذين يقدمون مساهماتهم بشكل تلقائي، ويتم توفير المحتوى على هذا الموقع دون امتلاك حقوق الملكية، ولا يتم تعديل المحتوى بشكل يدوي، ولا يتحمل الموقع أي مسؤولية قانونية متعلقة بذلك. إذا اكتشفتم أي محتوى يشتبه في انتهاك حقوق النسخ، الرجاء إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال # بـ @) لإبلاغنا، وقدموا الأدلة ذات الصلة، وسنزيل المحتوى المزعوم الذي يشتبه في انتهاك حقوق النسخ فورًا.

أنت قد تعجبك