Zusammenfassung der Methodenbeispiele der PHP-Implementierung des vorherigen Artikels und des nächsten Artikels

高洛峰
Freigeben: 2023-03-05 13:12:01
Original
1625 Leute haben es durchsucht

Dieser Artikel analysiert die Methode zur Implementierung des vorherigen Artikels und des nächsten Artikels in PHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

PHP implementiert den vorherigen Artikel und den nächsten Artikel. Dabei wird hauptsächlich SQL verwendet, um anhand der aktuellen ID zu beurteilen und dann die Daten vor der aktuellen herauszufiltern ID oder die Daten nach der ID So einfach ist das, werfen wir einen Blick auf die Details.

Implementieren Sie die Schreibmethode von SQL-Anweisungen für den vorherigen und nächsten Artikel in Website-Artikeln.

Die ID des aktuellen Artikels ist $article_id und die ID der entsprechenden Kategorie des aktuellen Artikels ist $cat_id, dann sollte der vorherige Artikel sein:

SELECT max(article_id) FROM article WHERE article_id < $article_id AND cat_id=$cat_id;
Nach dem Login kopieren

Nach der Ausführung sql-Anweisung, Sie erhalten $max_id , dann

SELECT article_id, title FROM article WHERE article_id = $max_id;
Nach dem Login kopieren

vereinfachen Sie es und konvertieren Sie es in eine Unterabfrage:

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);
Nach dem Login kopieren

Der nächste Artikel lautet, der Code lautet wie folgt:

SELECT min(article_id) FROM article WHERE article_id > $article_id AND cat_id=$cat_id;
Nach dem Login kopieren

Führen Sie diese SQL aus. Holen Sie sich $min_id nach der Anweisung, dann:

SELECT article_id, title FROM article WHERE article_id = $min_id;
Nach dem Login kopieren

Vereinfachen Sie es und konvertieren Sie es in eine Unterabfrage:

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);
Nach dem Login kopieren

Schließlich gefällt es vielen Freunden Um die folgende Anweisung zu verwenden


Vorheriger Artikel, der Code lautet wie folgt:

select id from table where id10 limit 0,1;
Nach dem Login kopieren

Es gibt definitiv kein Problem mit Dies, aber die Leistung ist nicht sehr gut.

SQL-Anweisungsoptimierung:

Sie können Union All verwenden, um 3 Datenzeilen in einer Anweisung abzurufen, aber die Voraussetzung ist, dass die Felder der Drei Abfragen müssen gleich sein. Die erste Zeile des Ergebnisses dieser Abfrage ist der vorherige Artikel, die dritte Zeile ist der nächste Artikel, der Code lautet wie folgt:

(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);
Nach dem Login kopieren

Schauen wir uns nun einige Beispiele in CMS an. PHPCMS implementiert den vorherigen und den nächsten Artikel.

Die aktuell durchsuchte Artikel-ID abrufen:

$id = isset($_GET[&#39;id&#39;]) > 0 ? intval($_GET[&#39;id&#39;]) : "";
Nach dem Login kopieren

Nächster Artikel:

$query = mysql_query("SELECT id,title FROM article WHERE id>&#39;$id&#39; ORDER BY id ASC LIMIT 1");
$next = mysql_fetch_array($query);
Nach dem Login kopieren

Vorheriger Artikel:

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

Ich hoffe, dieser Artikel wird für alle hilfreich sein, die bei der PHP-Programmierung helfen.

Weitere PHP-Implementierungsmethoden und Beispiele der vorherigen und nächsten Artikel finden Sie auf der chinesischen PHP-Website für verwandte Artikel!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage