perlで掲示板を作製しているのですが、
一度に表示される記事数を10件ずつにしたいと思っています。
その後、nextボタンを押すことで10件ずつ過去の記事にさかのぼっていくようにしたいと思っています。
最初に記事を開いたときに、最新の記事から10件取り出すようにすることはなんとなく分かるのですが、
その後、nextボタンによりさかのぼっていく仕組みが
いまいちイメージできなくて困っております。
prevボタンを押すと最新のほうに10件進むようにしたいと思っています。
参考になるURLでもかまいませんので、
アドバイスお願い致します。
No.1ベストアンサー
- 回答日時:
ここではリンク出来ないので、ロジックだけす。
一般的に掲示板の1件は1個のファイルとして扱っており、ファイル名は数字でナンバリングされています。
また、古い物は数値が小さく、新しい物は数値が大きいとすると、
最新の記事が仮に123456だったとします。
表示される記事は123456~123447の10件です。
次のページは123446~123437ですね。
法則が見えてきませんか?
prevで10件進むのであれば、現在表示している最初の記事の番号に10を足した記事から10件表示。
nextで10件戻るのであれば、現在表示している最初の記事の番号から10をひいた記事から10件表示。
この回答への補足
連続投稿になってしまいますが、
なんとか自分で新たな疑問点を見つけることができましたので、
別途投稿したいと思います。
ありがとうございました。
ありがとうございます。
遅くなりまして申し訳ございません。
掲示板の一件を一個のファイルではなく、
一つのファイルに、一件の記事を改行コードが出てくるまでを一件としてdatファイルを作成していく仕組みにしているのですが、
これだと後々まずくなってしまうでしょうか。
各行の先頭に、記事番号が表示される仕組みです。
もしご存知でしたら、参考になるCGIスクリプトのURL等、教えていただけないでしょうか。
そちらで解析を頑張ってしてみたいと思っております。
宜しくお願い致します。
No.2
- 回答日時:
どこから表示し始めるかをCGIに教えてあげればいいですね。
CGI側がそういうHTMLを作成します。
表示し始める位置は、ボタンを押したときのアクションにパラメータをつけます。
現在、NO50からNO41までの10件を表示してあるとすると、
次ボタンは、
<form method="get" action="~/bbs.cgi?msgno=40">
(NO40から表示)
前ボタンは、
<form method="get" action="~/bbs.cgi?msgno=60">
(NO60から表示)
のようになります。(?以降がポイント)
これを、CGIで出力します。
一方CGI側では、
msgnoパラメータの値によって、ページを作成します。
(msgnoパラメータが無い場合は、先頭から)
最初と最後のページでは、終端の処理をする注意が必要です。
*CGIでURLの?以降を取得する方法はわかりますよね?
この回答への補足
すみません。語尾がおかしくなってしまいました。
一記事に対して一ファイルのほうがいいのかなという心配が少しあります。
宜しくお願い致します。
ありがとうございます。
お礼が遅くなりまして申し訳ございません。
msgnoの算出方法を教えていただきたいのですが、
どのようにして算出させればいいのでしょうか?
実は一記事に対して一つのファイルという仕組みではなく、一つのファイルに記事を貯めていくという仕組みのbbsを作製しておりまして、
改行コードが一つの記事の区切りという仕組みになっております。
もしご存知でしたら、参考になるCGI掲示板のスクリプトのURLを教えてくださらないでしょうか。
そちらで実際に解析しながら勉強しようと思います。
宜しくお願い致します。
そもそも記事事態は別にファイルを作成していくほうがいいのかなとも思いつつ、
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Powerpointでランダムな数字の結果を表示するマクロ 2 2023/08/04 10:04
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- その他(生活家電) テレビリモコンのボタン修理 6 2022/05/02 22:30
- PHP PHP MySql ページング 2 2022/09/20 06:38
- LINE LINEのスマホ機種変更時の移行失敗の復旧 1 2022/06/20 14:52
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Excel(エクセル) エクセル:シフト表条件付き書式色付けのカウント方法 3 2022/10/11 21:59
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- gooのスマホ スマホF-51Bに緊急時情報画面でロックが掛かって解除できません。 3 2023/06/18 23:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
掲示板専用スクリプトなどを使...
-
フォームを再送信しますか?
-
/bin/awk '{print $5}'ってどう...
-
ホームページでCGIのフォームを...
-
入力フォーム(電話番号)
-
フォームメールを受信すると文...
-
チェックボックスでのvalue値の...
-
クッキーが別PCで共有されてしまう
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
goo RSSリーダーでブログの全記...
-
ブログ:右サイドバーが記事の...
-
Yahoo!ブログの「書庫」はどこ...
-
シーサーブログ目的ページ表示...
-
ライブドアブログのカレンダー...
-
gooブログにフェイスブックいい...
-
gooブログの過去の記事が消えた!
-
perl BBS(掲示板)で10件ずつ...
-
ライブドアブログの記事ごとに...
-
ライブドアブログ カテゴリ別...
-
gooブログの閲覧数について教え...
-
ブログ等で表示される書いた日...
-
さくらのブログで表示件数が制...
-
トップページから個別記事へリ...
-
ブログの記事のリンク方法について
-
アメーバブログの記事URL
-
TOPページだけサイドバーが画面...
-
トップの記事をある一定期間は...
-
過去日付で投稿した記事をトッ...
-
ブログご指導お願いいたします
おすすめ情報