php 実装 前の記事、次の記事 コードと原理の説明
ID ペアを ID desc 順または ID asc 順に並べ替えて、同じ列内の現在の ID より大きい記事、または現在の記事 ID より小さい記事を特定します。 実装原則:
これは、ID ペアを ID 降順または ID 昇順で並べ替えて、同じ列内の現在の ID より大きい記事または現在の記事 ID より小さい記事を特定します。
例の SQL ステートメントは次のとおりです:
$id は直接記事の ID です
select * from news where id<$id order by id desc limit 0,1 select * from news where id>$id order by id desc limit 0,1
-- -- 表的结构 `string_find` -- CREATE TABLE IF NOT EXISTS `string_find` ( `id` int(4) NOT NULL auto_increment, `charList` varchar(100) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ; -- -- 导出表中的数据 `string_find` -- INSERT INTO `string_find` (`id`, `charList`) VALUES (1, '脚本之家'), (2, 'baidu'), (5, 'www.baidu.com'), (6, 'www.scutephp.com');
やり方を見てみましょう
コードは次のとおりです:
mysql_connect('localhost','root','root') or die(mysql_error()); mysql_select_db('cc'); mysql_query("set names 'gbk'"); $cid =5;//是你当前文章的编号 $sql ="select * from string_find where id>$cid order by id desc limit 0,1"; //上一篇文章 $sql1 ="select * from string_find where id<$cid order by id asc limit 0,1";//下一篇文章 $result = mysql_query( $sql ); if( mysql_num_rows( $result ) ) { $rs = mysql_fetch_array( $result ); echo "上一篇".$rs[0]; } else { echo "没有了"; } $result1 = mysql_query( $sql1 ); if( mysql_num_rows( $result1 ) ) { $rs1 = mysql_fetch_array( $result1 ); echo "下一篇".$rs1[0]; } else { echo "没有了"; }
以下は他のネットユーザーが書いた記事です。
訪問者が Web ページを閲覧するときに前のトピックと次のトピックのタイトルを確認する必要があるため、それらはデータベース内でクエリされ、たとえば、私のブログは制限に基づいて自動的に取得されます。 ID: インクリメンタルの場合、現在の ID より大きいか小さいものを検索することで
を取得できます。
$UpSQL="SELECT * FROM `blog` WHERE `ID`<$id ORDER BY `ID` DESC LIMIT 0,1"; $DownSQL="SELECT `ID`,`Title` FROM `blog` WHERE `ID`> $id ORDER BY `ID` ASC LIMIT 0,1";
次に、クエリ
を通じてデータを取得します。
「前の記事」と「次の記事」が 1 つしかない場合は、クエリを実行する必要はありませんが、クリックすると、これがすでにホームページであることがユーザーに表示される可能性があります。というかこれはもう最後のページです笑
コードは次のとおりです:
switch($act) { case "Up": $SQL="SELECT * FROM `blog` WHERE `ID`< $id ORDER BY `ID` DESC LIMIT 0,1"; break; case 'Down': $SQL="SELECT * FROM `blog` WHERE `ID`> $id ORDER BY `ID` ASC LIMIT 0,1"; break; default : $SQL="SELECT * FROM `blog` WHERE `ID`= $id LIMIT 0,1"; break; }
アクションを渡すことで前の記事、次の記事