Maison > développement back-end > tutoriel php > Résumé des exemples de méthodes d'implémentation PHP de l'article précédent et de l'article suivant

Résumé des exemples de méthodes d'implémentation PHP de l'article précédent et de l'article suivant

高洛峰
Libérer: 2023-03-05 13:12:01
original
1651 Les gens l'ont consulté

Cet article analyse la méthode d'implémentation de l'article précédent et de l'article suivant en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

php implémente l'article précédent et l'article suivant. Cela utilise principalement SQL pour juger en fonction de l'ID actuel, puis filtrer les données avant l'actuel. ID ou les données après l'ID C'est aussi simple que cela, 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.

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 :

SELECT max(article_id) FROM article WHERE article_id < $article_id AND cat_id=$cat_id;
Copier après la connexion

Après avoir exécuté ceci sql, vous obtenez $max_id , puis

SELECT article_id, title FROM article WHERE article_id = $max_id;
Copier après la connexion

simplifiez-le et convertissez-le en une sous-requête :

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

L'article suivant est le code suivant :

SELECT min(article_id) FROM article WHERE article_id > $article_id AND cat_id=$cat_id;
Copier après la connexion

Exécutez ce sql Obtenez $min_id après l'instruction, puis :

SELECT article_id, title FROM article WHERE article_id = $min_id;
Copier après la connexion

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

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

Enfin, beaucoup d'amis aiment pour 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

Il n'y a définitivement aucun problème avec ceci, 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 du trois requêtes doivent être identiques. La première ligne du 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 :

(select id from table where id < 10 order by id asc limit 1) union all (select id from table where id = 10) union all (select id from table where id > 10 order by id desc limit 1);
Copier après la connexion
.

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

Obtenez l'identifiant de l'article actuellement consulté :

$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

J'espère que cet article sera utile à tous ceux qui sont aidés par la programmation PHP.

Pour plus de méthodes d'implémentation PHP et des exemples des articles précédents et suivants, veuillez faire attention au site Web PHP chinois pour les articles connexes !

É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