【PHP】ツリー掲示板を作ろう

1nobodyさん03/09/18 20:20ID:cWD3PqYN
いろんなツリー掲示板見てきましたが、使いやすく内部処理的にもわかりやすい物はあまりありません。。
ツリー掲示板の賛否は置いといて、みなさんで使いやすい物を作ってみませんか?
というか自分はどんなふうにログ管理をしたらよいのかさえわからないでつ…

333nobodyさん03/11/21 01:56ID:TNo6fVJy
あのな、職場のサーバ(Linux)に共用住所管理ページみたいなのを作っているんだけど、その検索機能で「谷村」という苗字を検索すると、見つからないんだ。
でも、実際に存在してる。

他の苗字ではそんなことはないんだけど、何でですか?

ちなみに、クライアントは全てwindowsマシン、サーバの文字コードはEUC

334nobodyさん03/11/21 12:22ID:???
いや、、、検索はどうやってるんだ
このスレで問題ないのか?

335nobodyさん03/12/14 22:42ID:???
>>333

、ヲ、チ、ヌ、マ。「スサスマソ、ヌ。。コ貊ヤ。。、ク。コ、ケ、、ネコ貊ヤ、マ・メ・テ・ネ、ケ、、ャ。「
チエ、ッエリキク、ハ、、。。ソワコ莉ヤ。。、゙、ヌク。コ、オ、、、陦」
、゙、。ウイ、マフオ、、・キ・ケ・ニ・爨タ、ォ、鬢、、、、ア、ノ。」
MySQLmax+PHP4.3.3 (EUC)

33633503/12/14 22:54ID:???
文字バケスマソ

ウチでは住所録で 堺市 を検索すると
関係ない 須坂市 がヒットする。
害はない程度のシステムだから放置してるけど。
MySQLmax+PHP4.3.3 (EUC)

337えーん。04/01/19 01:31ID:0Gawmya5
どっかに、スレッド掲示板のアルゴ書いてあるようなページないですか?
検索しても関係ないのが引っかかりすぎて・・・

338nobodyさん04/01/19 09:10ID:???
ツリーのアルゴリズムはシンプルだよ。
一件に親IDと自IDを記録しといて、投稿された順に親へぶらさげればいいだけ。
便宜上、大親IDを記録していることもある。

339えーん。04/01/19 22:27ID:???
はい、そういう風には実装してるんですけど、一覧取得の方法が見つからないのです。
子IDを検索して、孫IDを検索してってやると、何回もSQLを投げなくちゃいけなくなるんです。
どうしたらいいんでしょう・・・

340nobodyさん04/01/19 23:17ID:???
本を買ってきて読め
大きい本屋にあるから

341えーん。04/01/19 23:58ID:???
(TT)

342nobodyさん04/01/20 01:14ID:???
>>339
なので便宜上、カテゴリ分け的な大親IDを記録していることもある。
SQL一発で出したかったら並び専用のIDを持たせて、投稿されるたびにちまちま入れ込む。
掲示板なんて投稿数よりも閲覧数のほうが多いんだから、表示のときに高負荷をかけるようなデータ構造は避けるべき。

343nobodyさん04/09/08 23:50ID:???
大親IDだけでいいんじゃねぇの?

って思ったけどそうかツリーには分岐があるのねー

344nobodyさん2005/11/06(日) 13:17:53ID:szZvbyxN
PHP使ってる時点で初心者だな(w

検索は静的書き出ししたHTMLを全文検索できるようにしたほうがいい。PHPでやるのはセンス無し。

345nobodyさん2005/11/15(火) 02:15:48ID:???
>344
静的書き出ししたファイルが10000ファイルくらいあった場合それを全部検索かけるの?
あふぉですか?

346nobodyさん2005/11/15(火) 07:30:38ID:???
1年ぶりに的外れなレス
それに対するレスも9日後

347ううう2005/11/19(土) 04:59:46ID:RFF7NhgS
ppp

348ううう2005/11/19(土) 05:02:34ID:RFF7NhgS
3333

349nobodyさん2006/03/14(火) 17:59:45ID:???
過疎スレに宣伝
(SS)C-BOARDをPHPに移植しました。
ttp://www.project-s.org/

350nobodyさん2006/03/14(火) 18:15:29ID:???
>>349
これDB使ってるの?

351nobodyさん2006/03/15(水) 00:35:29ID:???
元々のC-BOARDはDB不要だが・・・

352nobodyさん2006/03/15(水) 07:34:41ID:???
>>351
PHPに移殖するならDB化もやって欲しいなという希望で聞きました
ツリー式ならDBの方が楽そうですし

353nobodyさん2006/03/15(水) 09:13:34ID:???
どうも。ソース見ればわかりますがDBは使ってません。
というか単純にPerlの処理をPHPになおしただけです。

354nobodyさん2006/03/15(水) 13:11:53ID:???
あの読みにくいソースをPHP化するのはすごいよ

355nobodyさん2006/04/04(火) 19:07:11ID:???
覚えたてのphp使って試しに作ってみた
あら探しよろしく
ttp://www20.cds.ne.jp/~yugen/itah3/v_main.php?dir=main

356nobodyさん2006/04/05(水) 18:55:23ID:???
>>355
これは携帯向け?
インターフェイスについてはなんとも言えないけど
スレッドについてるレス数くらいは表示した方がいいと思う。

あとHTMLの文法にもうちょっと気を遣って欲しいかも。

357nobodyさん2006/04/05(水) 23:17:47ID:???
携帯対応化もある程度意識してはいるけど、今は単にデザインを度外視して
機能から実装していってるのでシンプルに見えるだけでつ。
この段階でデザインに凝ると後でカスタマイズとかしにくくなるし。

>レス数
御意、やっとく

>HTMLの文法
何か問題あるん?

358nobodyさん2006/04/06(木) 09:37:02ID:???
>>357
あ、まだまだこれからってことね。
トピック表示メインかと思ったから、
ツリーにするならなくてもいいかも。

HTMLは、俺もいわゆるW3C信者なもんで気になるんだよね。
strictとは言わないまでもせめてtransitionalに準拠したHTMLを吐き出して欲しいところ。
そのあたりはlintを通してみるといろいろ警告が出ると思う。

359nobodyさん2006/04/06(木) 23:07:01ID:???
>>358
にゃるほど。
検討してみまつ。

360kimata ◆Qt6ysZHgIQ 2006/04/15(土) 19:25:26ID:REi2ISXk
>>349
初めまして.元作者です.
もうほとんどの機能が動いてるみたいですね.すばらしいです.

オリジナルは,Perl およびプログラミングの学習を主眼メインにして作成した
ので(c-board は僕が最初に作成したプログラムです),いろいろと野暮ったい
ところや不必要な機能がいろいろとついていると思います.是非,そういった
ものをそぎ落として,もっといいものを作成して下さい.

陰ながら応援しています.

ではでは.

361nobodyさん2006/04/16(日) 13:33:24ID:???
すごい人が来てるな

3623552006/04/17(月) 02:57:54ID:???
御要望のレス数表示が(やっと)入ったので一応報告
…が、ソース公開までの道のりはまだ長い

ttp://www20.cds.ne.jp/~yugen/itah3/v_main.php?dir=main

3633492006/04/17(月) 08:53:22ID:???
>>360
ありがとうございます。
C-BOARDは学生のころに出会ってから今までありがたく使わせていただいています。
高機能な上に現在でもスカリーソフトさんのところで開発が続いているので、
移植作業も追いつかなくて大変です。
最近なかなか作業の時間がとれないのですが、ゆっくりとやっていくつもりです。

364nobodyさん2006/06/29(木) 14:52:39ID:???
時代を超えて良スレになりつつあったのにまたトマトる。

365ナナシ2006/09/23(土) 23:34:16ID:uqHonj6S
初めましてナナシです僕も仲間に入れてクダサい

366qbbs ◆s8fp98fd5k 2006/10/01(日) 04:38:19ID:qG8sRtK1
はじめまして。
phpとpostgresqlでツリー掲示板のモトを作ってみようと思います。
ソースを公開してみなさんに添削していただいたり、機能について
いろいろ助言がいただければと思います。

よろしくお願いします。

367qbbs ◆s8fp98fd5k 2006/10/01(日) 09:53:02ID:???
まず、スレッド作ってメッセージ書いて、見る。
だけのもの作りました。
http://qbbs.s231.xrea.com/

メッセージはツリーにする予定です。
ちょっと見るだけでも見てください。

368nobodyさん2006/10/03(火) 00:30:58ID:???
テーブル定義だけど、primary keyはつけたほうがいいよ。
ちょっと見た感じ、serial primary keyでいいと思う。

あと気になったのが'='使うときはスペース空けたほうが見やすい。
$var = 'value'; って感じで。

あと「テンポラリ」とか「代替」とか気になった。
さらっとしか見てないけど、スレッド立てる時になんか1行入れてるのかな。

スレッド式掲示板作る上で、特に必要ないと思うけど。

369qbbs ◆s8fp98fd5k 2006/10/03(火) 01:33:53ID:???
>>368
ありがとうございます。
>serial primary key
さっそく直します。

>あと「テンポラリ」とか「代替」とか
スレッドの代替メッセージレコードについては、
「あるメッセージに注目して、それを親とするメッセージの一覧」
を、ツリーのどこからでも同じ手順で行えるように入れてあります。

タイトルとか本文とか、必要な情報をメッセージレコードに入れて、
スレッドの設定だけスレッドレコードに入れてしまう方がいいかな
とも思ってます。
これはスレッドの設定項目がいくつか出てきたら実験しようと思うです。

「テンポラリ」は、スレッドやメッセージを入力するときに先に作成
しているレコードですか?
これは、入力→確認のあと戻って修正、の機能をつけた時に、先にレコード
を作っておいたほうがよさそうだったので入れてあります。

>'='使うときはスペース空けたほうが見やすい
今、SQLとかタグとかを直にかいている部分を分離しています。
この書き換えと一緒にやっておこうと思います。

370nobodyさん2006/10/03(火) 12:16:23ID:???
テーブル定義はついでにnot null制約くらいはつけようね。

これって、メッセージが親になりうるってことかな?
各メッセージがメッセージを持つことができる?

データ構造的にそれほど大変なことではないけど、表示が難しくなりそう。

「テンポラリ」はそういう使い方をするわけですね。
それってもし「入力→確認→ブラウザ閉じる」ってやったら、無駄にテンポラリのまま残らない?

セッション使うほうがいいと思うよ。

371nobodyさん2006/10/04(水) 18:32:12ID:???
表示まわりをちょっといじってみました。

>>370
ありがとうございます。
not nullつけて、defaultの設定もしました。
たいしたメッセージもないので、テーブルは作り直しちゃいました。
そのうちデータのバックアップとか出来るようにしたいです。

>メッセージが親になりうるってことかな?
はい、いちおうスレがツリー掲示板を作ろう、なので、そういう風にしてあります。
ただ、レスにレスを繰り返してインデントがどんどん増えるのは好きではないので、
その辺どうしようかちょっと悩んでます。

>無駄にテンポラリのまま残らない?
はい、ぜんぶテンポラリの状態で残ります。
これはpublish=0で判定できるので、デイリーかなにかで古いテンポラリを消すとか
しようかなと思っています。

>セッション使うほうがいいと思うよ。
う〜ん、ピンとこないですごめんなさい。
ヒントもらえませんか?

372nobodyさん2006/10/04(水) 20:45:12ID:???
そんな複雑な掲示板必要なのかな?
使う人も、若干使いにくいような気がするんだけど。

こういう構造になるってことだよね?

スレッド1
 →レス1
 →レス2
  →レス2に対してのレス3
  →レス2に対してのレス4
    →レス4に対してのレス5
  →レス2に対してのレス6
 →レス7
 →レス8
  →レス8に対してのレス9
   →レス9に対してのレス10
    →レス10に対してのレス11
    →レス10に対してのレス12
      →レス12に対してのレス13
   →レス9に対してのレス14
  →レス8に対してのレス15
  →レス8に対してのレス16
 →レス9
 →レス10

スレッド2
 ・
 ・
 ・

373qbbs ◆s8fp98fd5k 2006/10/04(水) 20:58:19ID:???
そです。

ツリー表示はやっぱり必要かなと思いますが、インデントが深くなるタイプには
したくない気がします。
メッセージの下にぶら下がってるレス全部の数くらいは表示したいです。

374nobodyさん2006/10/05(木) 00:12:02ID:???
インデントっていうのは見た目(表示)の問題でしょ。

ツリー式掲示板ってさ

スレッド1
 →レス1
 →レス2
 →レス3
  ・
  ・
  ・

スレッド2
 →レス11
 →レス12
 →レス13
  ・
  ・
  ・

っていうのを一般的に言うよ。

375qbbs ◆s8fp98fd5k 2006/10/05(木) 00:53:12ID:???
私のいうツリー掲示板は、たとえば
http://www.kent-web.com/bbs/wforum/wforum.cgi
こういうものです。

376nobodyさん2006/10/13(金) 12:56:33ID:???
>>374
くそ作者どものお陰で定義は滅茶苦茶
最近大御所が時間軸をツリー表示と言い出した
これ以上「ツリー型」の定義が広まれば収集つかんぞ


377nobodyさん2006/10/14(土) 15:25:10ID:???
>>374をツリーだと言うのは、文脈によっては許せるかな。
1世代しか子供を許さないツリーは、はたしてツリーなのか?
ってのはあるが。

けど、>>372がツリーじゃないっていうのは、どうなんだろう。
使う側からみれば普通にツリー構造だと思うが。

>>376
>大御所が時間軸をツリー表示と言い出した
どこの話よ?

378nobodyさん2006/10/15(日) 02:53:02ID:???
>>374
恥かしい人発見 コメントリンクって知ってるか? 

>っていうのを一般的に言うよ。
ttp://e-words.jp/?w=%88%EA%94%CA%93I

379nobodyさん2009/03/08(日) 16:03:39ID:???
tree BBSつくるならCMTにも対応してほしい

380 【21.5m】 電脳プリオン2012/05/20(日) 23:15:34.97ID:????PLT(12079)
作れそうにないな

381nobodyさん2014/03/14(金) 04:53:51.28ID:6wtKOs0z
今どうなってる

382nobodyさん2017/12/30(土) 13:17:26.90ID:YhlYw6jg
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

T19LH57R7C

383nobodyさん2018/02/20(火) 05:07:00.83ID:???
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

新着レスの表示
レスを投稿する