私のデータベースには "category" と "article" の 2 つのテーブルがあります。
Category
id | Category
---------------------
1 Mobiles
2 Computers
--------------------
Article
id | Category | title |article
-------------------------------------
1 2 title article desc
2 1 title article desc
3 1 title article desc
4 1 title article desc
5 2 title article desc
--------------------------------------
記事ページ用に生成された URL はこの形式です。
URL/ID/TITLE
現在の記事ページに次の記事と前の記事のタイトルを表示したいと思います。
そのため、以下のコードを使用して、リンク付きの次および前のタイトルを表示しました。
前の記事
$getid = $_GET['id'];
$previous = $getid - 1;
$previousdata = $db->getRow("select * from article WHERE news_id='$previous'");
次の記事
$getid = $_GET['id'];
$next = $getid + 1;
$nextdata = $db->getRow("select * from article WHERE news_id='$next'");
そして、次のようなphpコード
<a href="http://www.domain.com/article-<?php echo ($previousdata['news_id']); ?>/<?php echo friendlyURL($previousdata['title']); ?>"> <?php echo friendlyURL($previousdata['title']); ?></a>
これは正常に動作します。ID を使用して、次のリンクと前のリンクにモバイルとコンピューターの投稿が表示されます。
たとえば、モバイル カテゴリに 2 つの記事を投稿した場合、生成された ID は 12 と 13 でした。次に、コンピューター カテゴリに記事を投稿した場合、生成された ID は 14 でした。ユーザーが ID 13 のモバイル記事を読むと、下部に前の記事が表示されます。 ID 12 のタイトルと ID 14 の次の記事のタイトル。当然、前の記事はモバイル、次はコンピューターのカテゴリです。
しかし、「モバイル」カテゴリのみで次と前のページネーションのみを表示したいのですが、
だから私はカテゴリを割り当てようとします
$getid = $_GET['id'];
$next = $getid + 1;
$nextdata = $db->getRow("select * from article WHERE Category=1 AND id='$next'");
これはモバイルのみをフィルタリングしません..