前の記事と次の記事をPHPで実装する方法を詳しく解説

墨辰丷
リリース: 2023-03-28 22:18:01
オリジナル
3291 人が閲覧しました

この記事では主に前の記事と次の記事をPHPで実装する方法を紹介し、前の記事と次の記事を取得するためのphpのSQL操作に関するクエリスキルをサンプル形式でまとめています。参考にしてください

phpの実装 前の記事次の記事 これは主に現在のIDに基づいて判断し、現在のIDより前のデータまたはIDより後のデータをフィルタリングするという単純なものです。詳細。

ウェブ記事の前後の記事のSQL文の書き方を実装します。

現在の記事の ID が $article_id で、現在の記事の対応するカテゴリの ID が $cat_id である場合、前の記事は次のようになります:

コードをコピーします コードは次のとおりです:

SELECT max(article_id) FROM Article WHERE Article_id < ; $article_id AND cat_id=$cat_id;

この SQL ステートメントを実行すると、$max_id が取得されます

コードをコピーします コードは次のとおりです:

SELECT 記事 ID, タイトル FROM 記事 WHERE 記事 ID = $max_id;

これを単純化し、サブクエリに変換します:

コードをコピーします コードは次のとおりです:

SELECT 記事 ID, タイトル FROM 記事 WHERE 記事 ID = (SELECT max (article_id) FROMarticle WHEREarticle_id < $article_id AND cat_id=$cat_id);


次の記事は次のとおりです:

コードをコピーしますコードは次のとおりです:

SELECT min (article_id) FROMarticle WHEREarticle_id > $article_id AND cat_id=$cat_id;


この SQL ステートメントを実行した後、$min_id を取得し、次のようにします:

コードは次のとおりです:

SELECTarticle_id, title FROM 記事 WHERE 記事 ID = $min_id;

単純化してサブクエリに変換します:


コードをコピー コードは次のとおりです:

SELECT 記事 ID, タイトル FROM 記事 WHERE 記事 ID = (SELECT min(article_id) FROM Article WHERE Article_id > $article_id AND cat_id=$cat_id);

最後に、多くの友人が次のステートメントを使用することを好みます

前の章のコードは次のとおりです:

select id from table where id10 limit 0,1;
ログイン後にコピー

間違いなく問題ありませんこれでは、パフォーマンスはあまり良くありません。

SQL ステートメントの最適化:

Union all を使用して、3 行のデータをフェッチする 1 つのステートメントを実現できますが、前提として、3 つのクエリのフィールドがこのクエリの結果の 1 行目は前の記事、2 行目は現在の記事、3 行目は次の記事です。


コードをコピーします。次のように: (id < 10 のテーブルから id を選択、id asc 制限 1 で順序付け) Union all (id = 10 のテーブルから ID を選択) Union all (id > 10 のテーブルから ID を選択、id desc で順序付け)制限 1);

それでは、前の記事 次の記事を実装するための cms phpcms の例を見てみましょう。


現在閲覧されている記事 ID を取得します:

$id = isset($_GET[&#39;id&#39;]) > 0 ? intval($_GET[&#39;id&#39;]) : "";
ログイン後にコピー

次の記事:

$query = mysql_query("SELECT id,title FROM article WHERE id>&#39;$id&#39; ORDER BY id ASC LIMIT 1");
$next = mysql_fetch_array($query);
ログイン後にコピー

前回の記事:

$query = mysql_query("SELECT id,title FROM article WHERE id <&#39;$id&#39; ORDER BY id DESC LIMIT 1");
$prev = mysql_fetch_array($query);
ログイン後にコピー

まとめ:以上がこの記事の全内容です、皆様の勉強に少しでもお役に立てれば幸いです。関連する推奨事項:

PHPログイン異常のIP検出機能の例を作成する

PHPプログラムの例として実装します。


以上が前の記事と次の記事をPHPで実装する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート