【 スクリプト改造工房 PART 7 】

このエントリーをはてなブックマークに追加
616505
お久しぶりです。以前お世話になった505です。
皆様のアドバイスのおかげでBBSの改造もほぼ完了することができましたm(__)m

今回お聞きしたいのは、以前改造した「レスは最新10件のみ表示する」
ことに関してなんです。

以前の改造方法ですと、一度ログを読み出してから、各ブロック(タイトル、アイコン、コメントなど)
に対して何度もif文で条件づけをしてやっていたという状況なのですが、
なにげに不効率に感じていました。

そこで、最初にログを読み出した時点で制限できないものかと思いまして・・
407行目にある
while(<IN>){
if((split(/<>/))[1] eq "") { $i++; }
if ($i < $page + 1) { next; }
if ($i > $page + $p_log) { next; }
push(@DATA,$_);

の部分で、まずTOPに表示する「親記事」の数を制限してるんですよね。
ここでさらにレス数もカウントして

--もしレス数が$syoryakuより小さければそのまま表示し、
    大きければ「最新$syoryaku件」だけを表示せよ--

というふうにしたほうが記事表示部でifを多用するよりイイかなと思ったんですが・・^^
なにぶんどのように記述してよいかわからなかったもので、ご教授頂きたく投稿しました。
なにとぞ宜しくお願い致しますm(__)m

ソースhttp://lovely-aya.appletea.to/cgi/test/kaizou.txt
BBShttp://lovely-aya.appletea.to/cgi/test/yybbs.cgi#menu