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);

Принцип, выборка данных, меньше текущего ID (where id < '.$id.' предыдущая статья) и больше текущего ID (where id > '.$id.' следующая статья) 1 строка (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 меньше传入id последняя
 $nextR = mysql_fetch_array(mysql_query("select * from ".$table." where catid=".$catid." and id>$id order by id asc limit 0,1"));//id больше传入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);
      if($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», «Полное руководство по операциям с массивами (Array) в PHP», «Обзор排序 алгоритмов в PHP», «Обзор алгоритмов и приемов遍вания в PHP», «Руководство по структурам данных и алгоритмам в PHP», «Обзор алгоритмов программирования в PHP», «Обзор математических операций в PHP», «Обзор регулярных выражений в PHP», «Обзор операторов и вычислений в PHP» и «Обзор работы со строками (string) в PHP»

Надеюсь, что это руководство поможет вам в программировании на PHP.

Заявление: содержимое этой статьи взято из Интернета, авторские права принадлежат соответствующему автору, контент предоставлен пользователями Интернета в добровольном порядке, сайт не имеет права собственности, не был отредактирован вручную и не несет ответственности за соответствующие юридические последствия. Если вы обнаружите подозрительное нарушение авторских прав, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (при отправке письма замените # на @) для сообщения о нарушении и предоставьте соответствующие доказательства. При подтверждении факта нарушения сайт незамедлительно удалят涉嫌侵权的内容.

Рекомендуется для вас