Dieser Artikel stellt hauptsächlich die Methode zur Implementierung des vorherigen und nächsten Artikels in PHP vor. Er fasst die Abfragefähigkeiten im Zusammenhang mit SQL-Operationen von PHP zusammen, um den vorherigen und nächsten Artikel in Form von Beispielen zu erhalten dazu
Die Implementierung des vorherigen Artikels und des nächsten Artikels in PHP verwendet hauptsächlich SQL, um anhand der aktuellen ID zu beurteilen und dann die Daten vor der aktuellen ID oder die Daten nach der ID herauszufiltern einfach. 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:
Kopieren Sie den CodeCode wie folgt:
SELECT max(article_id) FROM Article WHERE Article_id < $article_id AND cat_id=$cat_id;
Nach der Ausführung dieser SQL-Anweisung erhalten wir $max_id , und dann
Code kopieren Der Code lautet wie folgt:
SELECT Artikel-ID, Titel FROM Artikel WHERE Artikel-ID = $max_id;
Vereinfachen Sie es und wandeln Sie es in eine Unterabfrage um:
Code kopieren Der Code lautet wie folgt:
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);
Der nächste Artikel lautet wie folgt:
Code kopierenDer Code lautet wie folgt:
SELECT min(article_id ) FROM Article WHERE Article_id > $article_id AND cat_id=$cat_id;
Nach der Ausführung dieser SQL-Anweisung , erhalten wir $min_id, dann:
Code kopieren Der Code lautet wie folgt:
SELECT Article_id, title FROM Article WHERE Article_id = $min_id;
Vereinfachen Sie es und konvertieren Sie es in eine Unterabfrage:
Code kopieren Der Code lautet wie folgt:
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);
Schließlich verwenden viele Freunde gerne die folgende Aussage
Vorheriger Artikel , der Code lautet wie folgt:
select id from table where id10 limit 0,1;
Auf diese Weise gibt es definitiv kein Problem, 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 3. Die Felder der Abfrage müssen gleich sein. Die erste Zeile der Die Abfrageergebnisse sind der vorherige Artikel, die zweite Zeile ist der aktuelle Artikel und die dritte Zeile ist der nächste Artikel. Der Code lautet wie folgt:
Code kopieren
(Wählen Sie die ID aus der Tabelle aus, in der die ID < 10 ist, sortieren Sie sie nach der aufsteigenden ID-Grenze 1) Union All (Wählen Sie die ID aus der Tabelle aus, in der die ID = 10 ist) Union All (Wählen Sie die ID aus der Tabelle aus, in der die ID > 10 ist order by id desc limit 1);
Schauen wir uns nun einige Beispiele in cms an. phpcms implementiert den vorherigen und den nächsten Artikel.
Rufen Sie die aktuell durchsuchte Artikel-ID ab:
$id = isset($_GET['id']) > 0 ? intval($_GET['id']) : "";
$query = mysql_query("SELECT id,title FROM article WHERE id>'$id' ORDER BY id ASC LIMIT 1"); $next = mysql_fetch_array($query);
$query = mysql_query("SELECT id,title FROM article WHERE id <'$id' ORDER BY id DESC LIMIT 1"); $prev = mysql_fetch_array($query);
Ein Beispiel für die Erstellung einer Funktion zur Erkennung abnormaler Anmelde-IPs in PHP
Ein Beispiel für die Implementierung von a Dieb-Programm
CSV-Datei exportieren, führende 0-Instanzen können exportiert werden
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Implementierung des vorherigen und nächsten Artikels in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!