更新記録CGIで「前へ」「次へ」の記事を出す方法
更新記録CGI(perl)を利用して、それを改造したいと思っています。
記事は1つだけ表示して、記事下に「←次へ」「前へ→」のようなリンクを作って前後に移動したいです。
素人考えで以下のようにしました。
$no =5; (現在の記事NO。数字が入ります)
$new_no = $no--;
$old_no = $no++;
print "<a href=\"news.cgi?vno=$new_no\">「←次へ」</a>\n";
print "<a href=\"news.cgi?vno=$old_no\">「前へ→」</a>\n";
しかしこれだと、2つの問題が発生します。
1.最新記事・最古の記事の次または前ページが存在しないのに行ってしまう。
2.何らかの理由で記事を消した場合でもそこに行ってしまう。
この2点を回避するにはどうしたら良いでしょうか?
$no =5;
open(IN,"$logfile") || &error("Open Error : $logfile");
while (<IN>) {
($no,$year1,$month1,$day1,$name,$tail1,$W1,$H1,$item1,$item2,$item3,$item4,$item5,$host) = split(/<>/);
<<<--- どうにかして、この記事の次記事があるかを判別する --->>>
if($new_no){
print "<a href=\"news.cgi?vno=$new_no\">「←次へ」</a>\n";
}else{
print "<font color=#aaaaaa>「←次へ」</font>\n";
}
<<<--- どうにかして、この記事の前記事があるかを判別する --->>>
if($old_no){
print "<a href=\"news.cgi?vno=$old_no\">「前へ→」</a>\n";
}else{
print "<font color=#aaaaaa>「前へ→」</font>\n";
}
このようにしたいのですが、方法を教えてください。