Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon d'implémenter l'article précédent et l'article suivant en PHP

Explication détaillée de la façon d'implémenter l'article précédent et l'article suivant en PHP

墨辰丷
墨辰丷original
2018-06-01 10:56:363217parcourir

Cet article présente principalement la méthode de réalisation de l'article précédent et suivant en PHP. Il résume et analyse les compétences de requête liées aux opérations SQL de PHP pour obtenir l'article précédent et suivant sous forme d'exemples. à cela

L'implémentation de l'article précédent et de l'article suivant en PHP utilise principalement SQL pour juger en fonction de l'ID actuel, puis filtrer les données avant l'ID actuel ou les données après l'ID. simple. Jetons un coup d'œil aux détails.

Implémenter la méthode d'écriture des instructions SQL pour les articles précédents et suivants dans les articles du site Web.

L'identifiant de l'article actuel est $article_id, et l'identifiant de la catégorie correspondante de l'article actuel est $cat_id, alors l'article précédent devrait être :

Copier le code Code comme suit :

SELECT max(article_id) FROM article WHERE article_id 7e3be596d8352a84f0c6e62018f3dba7 $article_id AND cat_id=$cat_id;


Après avoir exécuté cette instruction SQL , on obtient $min_id, puis :

Copier le code Le code est le suivant :

SELECT article_id, title FROM article WHERE article_id = $min_id;

Simplifiez-le et convertissez-le en sous-requête :

Copier le code Le code est le suivant :

SELECT article_id, title FROM article WHERE article_id = (SELECT min(article_id) FROM article WHERE article_id > $article_id AND cat_id=$cat_id);


Enfin, de nombreux amis aiment utiliser la déclaration suivante

Article précédent , le code est le suivant :

select id from table where id10 limit 0,1;

C'est sûr Il n'y a pas de problème, mais les performances ne sont pas très bonnes

. Optimisation des instructions SQL :

Vous pouvez utiliser union all pour récupérer 3 lignes de données dans une seule instruction, mais le principe est que les champs des trois requêtes doivent être les mêmes. le résultat de cette requête est l'article précédent, la deuxième ligne est l'article actuel et la troisième ligne est l'article suivant. Le code est le suivant :

Copier le code. Le code est le suivant :

(sélectionnez l'identifiant dans la table où l'identifiant 50760379e0c85f08392e9521aa2e0059 10 order by id desc limit 1);


Regardez maintenant quelques exemples dans cms phpcms qui implémente l'article précédent et l'article suivant.

Obtenez l'identifiant actuel de l'article Parcourir :

$id = isset($_GET['id']) > 0 ? intval($_GET['id']) : "";

Article suivant :

$query = mysql_query("SELECT id,title FROM article WHERE id>'$id' ORDER BY id ASC LIMIT 1");
$next = mysql_fetch_array($query);

Article précédent :

$query = mysql_query("SELECT id,title FROM article WHERE id <&#39;$id&#39; ORDER BY id DESC LIMIT 1");
$prev = mysql_fetch_array($query);

Résumé : ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il pourra aider tout le monde à apprendre les aides.

Recommandations associées :

Un exemple d'utilisation de PHP pour implémenter la fonction de détection IP anormale de connexion

Un exemple d'utilisation de PHP pour mettre en œuvre un programme de voleur

phpExporter un fichier csv, les 0 premières instances peuvent être exportées

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn