![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
こんにちは。
よく見かけるCGIでも、いざ自分で作るとなると「あれ?どうなってんだ?」というものが結構ありますよね。
早速本題へ。
ログのn番目から指定件数(50件)だけ抜き出して表示する基本機能を作ります。
ログが指定件数以上ある場合は「次ページへ」ボタンが現われるように条件分岐しておき、このボタンで「次はn番目から表示してくださーい」という「n番目」を渡してやります。
<1ページ目>
・n=0で、ログの先頭から50件(0~49)表示。
・「次のページへ」ボタンで次のページの先頭nである「50」を渡してやる。
<2ページ目>
・前ページから2ページ目の先頭n=50が送られてきた。
・n=50で、ログの51番目から50件(50~99)表示。
以降、同じ。
「前ページへ」ボタンも同じ原理です。
ん~、我ながら教え下手だ(笑)。
この回答への補足
page_search.cgiを作成し、
以下のようにしてみましたがダメでした。
※@FILESはログファイルを開いたもの。
($NOkey,$NO) = split(/=/,$buffer);
for ($i=5;$i<5*$NO;$i++){
@log = split(/&/,$FILES[$i]);
foreach(@log){
($key,$value)=split(/&/,$_);
$FORM{$key} = $value;
}
print "$FORM{'TITLE'}<BR>\n";
}
回答ありがとうございます。
>よく見かけるCGIでも、いざ自分で作るとなると「あれ?どうなってんだ?」というものが結構ありますよね。
そうです、そうなんですよ!
早速適当なログファイルを作成し、そこから5件ずつ取り出すようにかいてみました。
#----------
open (FILE,"page.log");
flock(FILE,2);
@pages = <FILE>;
flock(FILE,8);
close FILE;
$gyou1 = @pages;
if($gyou1 > 5){
$gyou2 = int($gyou1/5)+1;
} else {
$gyou2 = 1;
}
for ($i=0;$i<5;$i++){
@log = split(/&/,$pages[$i]);
foreach(@log){
($key,$value) = split(/=/,$_);
$FORM{$key} = $value;
}
print "$FORM{'TITLE'}<BR>\n";
}#forの終了
print "<BR><BR><BR>\n";
if ($gyou2 <=> 1){
for($r=2;$r<$gyou2+1;$r++){
print "[$r]\n";
}#for
}#if
#----------
表示はうまくいきました。
ですが、[2][3]と出てきたところに貼るリンクの方法がわかりません。
どのようにしたらうまくいくでしょうか?
No.1
- 回答日時:
ログファイルから特定の件数のみ取得・表示し、次のページへのリンクで次は何件目から取得するかの情報を送り、そのページでは受け渡された件数からデータを取得し表示しています。
ログファイルから取得する位置を変えて決められた件数を取得しているのです。
位置に特定については指定件数までスキップするか、ファイル位置をそのものを指定します。
具体的にはそのような掲示板がフリーCGIでありますからそちらを参考にしてください。
http://www.kent-web.com/bbs/petit.html?
参考URL:http://www.kent-web.com/bbs/petit.html?
回答ありがとうございます。
やはりそういうやり方でいいんですよね。
ではこれでちょっと試しに作成してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DBを10件毎に表示ページング...
-
月の第一週とは
-
リストコントロールの列幅を固...
-
クライアントのIPとマシン名を...
-
よくある 『 第○(1・2・3・4・...
-
アンケートなどの1日1回の投...
-
上位階層のディレクトリパスを...
-
エクセルで相対パスの書き方を...
-
土曜日の26時って何曜日の何時...
-
掲示板cgi、同一ホストから...
-
[C#]ListView一覧表示時の幅設...
-
Quantifier follows nothing in...
-
VBAでExcelのヘッダーに文字列+...
-
for a week tomorrowはどういう...
-
指定曜日にMsgBox表示は可能で...
-
SpreadDesignerの列ヘッダ
-
HTTPヘッダの大きさ
-
週2回のペースって だいたい何...
-
エクセルで折れ線グラフを作り...
-
fc2無料HPのディレクトリアクセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DBを10件毎に表示ページング...
-
c# webBrowser 内のpdfファイル...
-
ホームページにブログ記事をサ...
-
時間によって変わるページについて
-
ブログのようなCGIを探して...
-
HTMLでASPを動かしたい
-
指定文字以降を表示させない
-
phpのwhile文で、ボタンをクリ...
-
携帯端末用アクセス解析CGI
-
smallbasicで現在表示している...
-
if文について
-
ランダムリンクCGIを探していま...
-
月の第一週とは
-
週2回のペースって だいたい何...
-
エクセルで毎月第2週日の水曜日...
-
エクセルで 自動的に◯や数字を...
-
よくある 『 第○(1・2・3・4・...
-
毎○曜日って、使いますか?
-
ファイルをディレクトリ分配の...
-
エクセルで相対パスの書き方を...
おすすめ情報