![](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で質問しましょう!
似たような質問が見つかりました
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- CGI 一番簡単なCGI,掲示板の設置教えてください 4 2023/08/22 10:47
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Mac OS Macで今あるファイルの連番(ページ番号)に足し算をしてリネームしたい 1 2022/10/12 17:22
- PHP 「基礎からのMySQL 第3版 Kindle版」を数年前購入して全部やりました。 1 2022/09/15 05:32
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
太鼓
-
エクセルで集計したい。
-
ホームページでCGIのフォームを...
-
フォームを再送信しますか?
-
apacheでPerl CGIが作動せず、5...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
-
一番簡単なCGI,掲示板の設置教...
-
(フリーの)ツリー掲示版CGI、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DBを10件毎に表示ページング...
-
perlのフォームで表示したテキ...
-
Webページを作るには、HTMLとCS...
-
Webで取得できる情報
-
YAHOO!検索にて、有名な?企業...
-
HTMLでASPを動かしたい
-
携帯端末用のアクセス解析なん...
-
smallbasicで現在表示している...
-
アクセス解析の検索エンジンの...
-
RSSのフィードを受取り、それを...
-
cgi(perl)で掲示板などを作成...
-
携帯端末用アクセス解析CGI
-
指定文字以降を表示させない
-
RSSファイルを取得して、現在の...
-
if文について
-
月の第一週とは
-
6月の第2 第4火曜日は何日...
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
[Excel] ある日の曜日が当月の"...
おすすめ情報