Maison > développement back-end > tutoriel php > 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

墨辰丷
Libérer: 2023-03-28 22:18:01
original
3324 Les gens l'ont consulté

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 < $article_id AND cat_id=$cat_id;

Après avoir exécuté cette instruction SQL, nous obtenons $max_id , puis

Copier le code Le code est le suivant :

SELECT article_id, title FROM article WHERE article_id = $max_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 max (article_id) FROM article WHERE article_id < $article_id AND cat_id=$ cat_id);


L'article suivant est, le code est le suivant :

Copier le codeLe code est le suivant :

SELECT min(article_id ) FROM article WHERE article_id > $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;
Copier après la connexion

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 < 10, commandez par identifiant asc limit 1) union all (sélectionnez l'identifiant dans la table où id = 10) union all (sélectionnez l'identifiant dans la table où id > 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[&#39;id&#39;]) > 0 ? intval($_GET[&#39;id&#39;]) : "";
Copier après la connexion

Article suivant :

$query = mysql_query("SELECT id,title FROM article WHERE id>&#39;$id&#39; ORDER BY id ASC LIMIT 1");
$next = mysql_fetch_array($query);
Copier après la connexion

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);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal