【質問】Yahooの掲示板を作る方法

このQ&Aのポイント
  • Yahooの掲示板を作るにはどうしたらいいのでしょうか?トピックスにコメントができ、並べ替えや順位付けも可能な掲示板を作りたいです。
  • 「Perl/CGI入門」の本を読んだが、掲示板の並べ替えについての記述は見当たりませんでした。より多くの本を読んで勉強することも考えましたが、経験者や知識のある方のアドバイスがほしいです。
  • 掲示板作成について経験者や知識のある方にアドバイスをいただきたいです。本を読むだけではなく、実際の作成方法や必要な知識について教えていただけると幸いです。
回答を見る
  • ベストアンサー

Yahooの掲示板のような掲示板を作るのにはどうしたらいいのですか?

Yahooのトップページのトピックスをクリックすると、 そのトピックスにはコメントができるものがあります。 (一種の掲示板ですよね) そこには、「私もそう思う」「私はそう思わない」 というボタンがあります。 そして、「並べ替え」「そう思う順」「そう思わない順」 「注目順」「共感順」というボタンがあって、並べ替えが できるようになっています。 このような”掲示板”を作るにはどうしたらいいのでしょうか? 一応、「Perl/CGI入門」のような本を読んでみましたが、 「並べ替え」が出来るような記述は見当たりませんでした。 もっと、たくさん本を読んで勉強すれば出来るのかもしれませんが、 やみくもに本を買うのは得策ではないと思うので、 経験者の方、知識のある方のアドバイスをいただけたら 幸いです。 どうか、ご教授願います。

noname#225705
noname#225705
  • Perl
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

#!/usr/bin/perl -T use warnings; use strict; use utf8; use CGI; use CGI::Carp qw(fatalsToBrowser); use CGI::Pretty; my @threads = ( { name => 'AAA', date => '2009-01-03', subject => '333', }, { name => 'BBB', date => '2009-01-02', subject => '111', }, { name => 'CCC', date => '2009-01-01', subject => '222', }, ); my $q = CGI->new(); my ($sort_key) = $q->param('sort_key'); if (( !defined $sort_key ) || ( ( $sort_key ne 'name' ) && ( $sort_key ne 'date' ) && ( $sort_key ne 'subject' ) ) ) { $sort_key = 'name'; } my @tables; foreach my $thread ( sort { $a->{$sort_key} cmp $b->{$sort_key} } @threads ) { push @tables, $q->p( "name = $thread->{name}, date = $thread->{date}, subject = $thread->{subject}" ); } print $q->header( -charset => 'UTF-8' ), $q->start_html( -lang => 'ja', -title => 'Sort' ), $q->a( { -href => $ENV{SCRIPT_NAME} . '?sort_key=name' }, 'Sort Name' ), $q->br, $q->a( { -href => $ENV{SCRIPT_NAME} . '?sort_key=date' }, 'Sort Date' ), $q->br, $q->a( { -href => $ENV{SCRIPT_NAME} . '?sort_key=subject' }, 'Sort Subject' ), $q->br, @tables, $q->end_html;

その他の回答 (1)

  • makoji
  • ベストアンサー率25% (1/4)
回答No.1

各々の投稿データが、連想配列になります。 その連想配列の集まりが、あるキーに従ってソートされればいいんですよね。 CPANに Sort::MultipleFieldsモジュールというのがありますが、これで如何でしょうか。

参考URL:
http://search.cpan.org/dist/Sort-MultipleFields-1.0/lib/Sort/MultipleFields.pm

関連するQ&A

  • ツリー掲示板

    Perlでツリー掲示板を作っているんだけど、データをツリー掲示板独特の、レスを階段状にするやり方が分かんないです。 一つのコメントに対するレスを全て順に階段状にするのは出来るんだけど。 途中でそれを変えるのがどうしても出来ない。↓ ------------------------ 1*****  2*****   3*****    4*****     5****** ------------------------ は出来ても、 ------------------------ 1*****  2*****   3*****    5*****  4***** ------------------------- のように順不動で表示するやり方がわかんないんです。 いろいろとツリー掲示板を拾ってきてソースを見てみたりはしたんですけど、どうしても納得できなかったり、知らない文法を使ってたりして理解できません。 分かりやすいやり方で書いてあるCGIや、いいやり方をどなたか教えて下さい。 ちなみに普通の掲示板は出来たんです、だからココさえ分かれば後は何とかなりそうな感じなのにココが分からなくて先に進まない。 もう1週間くらい止まってます。すんごいもどかしくてしょうがなくなって質問しました。本当は地道に調べるのが良いんだろうけど本には載ってないし、ソースは・・・ 誰か助けて下さい。

    • 締切済み
    • CGI
  • 掲示板が反映されません

    現在Perlをつかって掲示板(bbs.cgiとします)を作っています. 別ページ(top.cgi)からボタンを押すと掲示板に飛ぶようになっているのですが, top.cgiでボタンを押したときにbbs.cgiへ任意の値を渡すようにしています. top.cgiの中で <form method="POST" action="bbs.cgi"> <input type="hidden" name="to" value="1"> <input type="submit" value="1"> </form> とし bbs.cgiの中で use CGI; my $form=new CGI; my $to = $form->param('to'); としているのですが, このように書いたとき,値は渡すことができますが, 掲示板に書き込みをすると反映されません. ほかに値を渡す方法はありますか? ちなみにGETは今回使いません. それとも掲示板のプログラム自体がおかしいのでしょうか? かなり考えたのですがわからなかったので質問させていただきます. よろしくお願い致します.

    • ベストアンサー
    • Perl
  • PHPがあればCGIは使わない

    掲示板を作ってみたいです。 とりあえず仕事に使うわけでもないし、あくまで趣味の範囲なので覚えやすいと言われるPHPを勉強してみようと思いました。 昔から掲示板作りにはCGIというものが必要というイメージがあり、CGIを勉強できる本を探したところ、Perlとセットのタイトルを持つ本ばかりで「CGI/PHP入門」みたいなのはありませんでした。 もしかしてPerlで掲示板を作るにはCGIが必要と言うだけで、PHPなら単独で掲示板が作れるのでCGIは必要ないということなんでしょうか?

    • ベストアンサー
    • PHP
  • ファイルを掲示板に載せたい場合

    あるカテゴリー順に並べ替えられた掲示板(Perlで 記載したCGIです)そこにWordなどのファイルを添付 したいのです。   データを送るとかはできますが、添付するというのは できないのでしょうか。

  • 掲示板を作りました。

    いつもお世話になっております。 現在、cgiとperlの勉強を兼ねて掲示板を作成しております。 ある程度の形は完成したのですが、一つ問題があります。 それは、他の人の書き込みを表示するために、更新しますよね?? ブラウザの更新ボタンをクリックすると、同じ記事がもう一度出てきてしまいます。 単純にリロードして、同じ記事が何度も掲載されるのを防ぎたいのですが・・・。どのような方法があるのでしょうか?? 現在勉強している本にはそこらへんが全く触れておりませんでして・・・。 ご存知の方、いらっしゃいましたら、教えて下さい。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • カテゴリ→スレッド型の掲示板

    カテゴリ→スレッド(トピック)→スレ展開 というようなタイプの掲示板を探しています。 perlの配布モノ、フリー・シェア問わず。 http://www.php-j.com/forum/ http://www.moonstone.jp/cgi/bbs/ こんな感じのです。 前者はPHP+SQLとなっていますし、 後者は配布元が無くなっているので… ご存知の方は教えてください。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • お勧めの本を教えて下さい。(CGI/Perl)

    CGI/Perlを学ぼうと思い、図書館で 「Perlで作るCGI入門-基礎編」という本を借りたのですが、 付録がなく、本だけだったので、この際一冊購入しようと 思いましたが、どれが良いのか迷っています。 皆さんが思うお勧めの本がありましたらお教えください。 よろしくお願いします。

  • 掲示板のコメントが最新の人のしか表示されません。

    最近知り合いの掲示板を作りました。 99年に「株式会社ディーアート」というところから発売された「自分でオリジナル掲示板を作ろう!」という本に付録されていたCD-ROMの中に入っていたcgiプログラムを使って作りました。 tree.htmlを使って返信出来るような、そして掲示板のtop.htmlにすべての入力項目が載るようにしたのですが、一番上(最新の)に載ってるものだけしかコメントが表示されなくなってしまいました・・・。 ちなみに↓がその掲示板のアドレスです。 http://www.kinet.or.jp/seseragi/cgi/board.cgi 誰かご存知でしたらなぜコメントが表示さえないのか教えてください! お願いします!

    • 締切済み
    • CGI
  • CGI入門者に適した本を教えてください

    「Perlで作るCGI入門」(結城浩著)で挫折、気を取り直して「はじめての人のためのかんたんPerl/CGI入門」(紙谷歌寿彦著)で現在勉強していますが、ハッシュのところで大混乱しています。 他に初心者にお薦めな本があったら教えてください。 私は他にプログラム経験は無く、CGI作成を目的としてPerlを勉強したいと思っています。

    • ベストアンサー
    • Perl
  • PHPでメールフォームを作るのは一般的なのですか?

    サイトでメールフォームや掲示板を作りたいと思い、CGI(Perl)の本を買って読んでみたのですが、C言語を少しやっていた私としてはPerlの記述が少々身に合わないと思いました。 そこで、PHPでも同じようにメールフォームや掲示板というのは一般的に使われているのでしょうか?勉強する上でPerlでメールフォームや掲示板という参考書はたくさんあったのですが、私の通っている本屋ではPHPでそのような本がありませんでした。 いずれデータベースもやりたいと思い、またC言語っぽいPHPのほうが勉強しやすいと思い、PHPでメールフォームなどを作りたいのですが、Perlとの違いや注意点などありますか? またお勧めのPHPの書籍やサイトを教えてください。よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう