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

このエントリーをはてなブックマークに追加
332たぬぴぃ:03/10/29 22:24 ID:???
>>321
あ"〜 気が付くと すっかり眠りこけてしまいました
お蔭様でtree.phpの方は ファイルごと入れなおしたら動くようになりました
ど〜もありがとうございました お邪魔いたしました では バイチュ〜
___________________________________________________________[ END OF THREAD ]___
333nobodyさん:03/11/21 01:56 ID:TNo6fVJy
あのな、職場のサーバ(Linux)に共用住所管理ページみたいなのを作っているんだけど、その検索機能で「谷村」という苗字を検索すると、見つからないんだ。
でも、実際に存在してる。

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

ちなみに、クライアントは全てwindowsマシン、サーバの文字コードはEUC
334nobodyさん:03/11/21 12:22 ID:???
いや、、、検索はどうやってるんだ
このスレで問題ないのか?
335nobodyさん:03/12/14 22:42 ID:???
>>333

、ヲ、チ、ヌ、マ。「スサス?マソ、ヌ。。コ貊ヤ。。、。コケ、?、ネコ貊ヤ、マ・メ・テ・ネ、ケ、?、ャ。「
チエ、ッエリキク、ハ、、。。ソワコ莉ヤ。。、゙、ヌク。コオ、?、?、陦」
、゙、。ウイ、マフオ、、・キ・ケ・ニ・爨タ、ォ、鬢、、、、ア、ノ。」
MySQLmax+PHP4.3.3 (EUC)
336335:03/12/14 22:54 ID:???
文字バケスマソ

ウチでは住所録で 堺市 を検索すると
関係ない 須坂市 がヒットする。
害はない程度のシステムだから放置してるけど。
MySQLmax+PHP4.3.3 (EUC)
337えーん。:04/01/19 01:31 ID:0Gawmya5
どっかに、スレッド掲示板のアルゴ書いてあるようなページないですか?
検索しても関係ないのが引っかかりすぎて・・・
338nobodyさん:04/01/19 09:10 ID:???
ツリーのアルゴリズムはシンプルだよ。
一件に親IDと自IDを記録しといて、投稿された順に親へぶらさげればいいだけ。
便宜上、大親IDを記録していることもある。
339えーん。:04/01/19 22:27 ID:???
はい、そういう風には実装してるんですけど、一覧取得の方法が見つからないのです。
子IDを検索して、孫IDを検索してってやると、何回もSQLを投げなくちゃいけなくなるんです。
どうしたらいいんでしょう・・・
340nobodyさん:04/01/19 23:17 ID:???
本を買ってきて読め
大きい本屋にあるから
341えーん。:04/01/19 23:58 ID:???
(TT)
342nobodyさん:04/01/20 01:14 ID:???
>>339
なので便宜上、カテゴリ分け的な大親IDを記録していることもある。
SQL一発で出したかったら並び専用のIDを持たせて、投稿されるたびにちまちま入れ込む。
掲示板なんて投稿数よりも閲覧数のほうが多いんだから、表示のときに高負荷をかけるようなデータ構造は避けるべき。
343nobodyさん:04/09/08 23:50 ID:???
大親IDだけでいいんじゃねぇの?

って思ったけどそうかツリーには分岐があるのねー
344nobodyさん:2005/11/06(日) 13:17:53 ID:szZvbyxN
PHP使ってる時点で初心者だな(w

検索は静的書き出ししたHTMLを全文検索できるようにしたほうがいい。PHPでやるのはセンス無し。
345nobodyさん:2005/11/15(火) 02:15:48 ID:???
>344
静的書き出ししたファイルが10000ファイルくらいあった場合それを全部検索かけるの?
あふぉですか?
346nobodyさん:2005/11/15(火) 07:30:38 ID:???
1年ぶりに的外れなレス
それに対するレスも9日後
347ううう:2005/11/19(土) 04:59:46 ID:RFF7NhgS
ppp
348ううう:2005/11/19(土) 05:02:34 ID:RFF7NhgS
3333
349nobodyさん:2006/03/14(火) 17:59:45 ID:???
過疎スレに宣伝
(SS)C-BOARDをPHPに移植しました。
ttp://www.project-s.org/
350nobodyさん:2006/03/14(火) 18:15:29 ID:???
>>349
これDB使ってるの?
351nobodyさん:2006/03/15(水) 00:35:29 ID:???
元々のC-BOARDはDB不要だが・・・
352nobodyさん:2006/03/15(水) 07:34:41 ID:???
>>351
PHPに移殖するならDB化もやって欲しいなという希望で聞きました
ツリー式ならDBの方が楽そうですし
353nobodyさん:2006/03/15(水) 09:13:34 ID:???
どうも。ソース見ればわかりますがDBは使ってません。
というか単純にPerlの処理をPHPになおしただけです。
354nobodyさん:2006/03/15(水) 13:11:53 ID:???
あの読みにくいソースをPHP化するのはすごいよ
355nobodyさん:2006/04/04(火) 19:07:11 ID:???
覚えたてのphp使って試しに作ってみた
あら探しよろしく
ttp://www20.cds.ne.jp/~yugen/itah3/v_main.php?dir=main
356nobodyさん:2006/04/05(水) 18:55:23 ID:???
>>355
これは携帯向け?
インターフェイスについてはなんとも言えないけど
スレッドについてるレス数くらいは表示した方がいいと思う。

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

>レス数
御意、やっとく

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

HTMLは、俺もいわゆるW3C信者なもんで気になるんだよね。
strictとは言わないまでもせめてtransitionalに準拠したHTMLを吐き出して欲しいところ。
そのあたりはlintを通してみるといろいろ警告が出ると思う。
359nobodyさん:2006/04/06(木) 23:07:01 ID:???
>>358
にゃるほど。
検討してみまつ。
360kimata ◆Qt6ysZHgIQ :2006/04/15(土) 19:25:26 ID:REi2ISXk
>>349
初めまして.元作者です.
もうほとんどの機能が動いてるみたいですね.すばらしいです.

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

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

ではでは.
361nobodyさん:2006/04/16(日) 13:33:24 ID:???
すごい人が来てるな
362355:2006/04/17(月) 02:57:54 ID:???
御要望のレス数表示が(やっと)入ったので一応報告
…が、ソース公開までの道のりはまだ長い

ttp://www20.cds.ne.jp/~yugen/itah3/v_main.php?dir=main
363349:2006/04/17(月) 08:53:22 ID:???
>>360
ありがとうございます。
C-BOARDは学生のころに出会ってから今までありがたく使わせていただいています。
高機能な上に現在でもスカリーソフトさんのところで開発が続いているので、
移植作業も追いつかなくて大変です。
最近なかなか作業の時間がとれないのですが、ゆっくりとやっていくつもりです。
364nobodyさん:2006/06/29(木) 14:52:39 ID:???
時代を超えて良スレになりつつあったのにまたトマトる。
365ナナシ:2006/09/23(土) 23:34:16 ID:uqHonj6S
初めましてナナシです僕も仲間に入れてクダサい
366qbbs ◆s8fp98fd5k :2006/10/01(日) 04:38:19 ID:qG8sRtK1
はじめまして。
phpとpostgresqlでツリー掲示板のモトを作ってみようと思います。
ソースを公開してみなさんに添削していただいたり、機能について
いろいろ助言がいただければと思います。

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

メッセージはツリーにする予定です。
ちょっと見るだけでも見てください。
368nobodyさん:2006/10/03(火) 00:30:58 ID:???
テーブル定義だけど、primary keyはつけたほうがいいよ。
ちょっと見た感じ、serial primary keyでいいと思う。

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

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

スレッド式掲示板作る上で、特に必要ないと思うけど。
369qbbs ◆s8fp98fd5k :2006/10/03(火) 01:33:53 ID:???
>>368
ありがとうございます。
>serial primary key
さっそく直します。

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

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

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

>'='使うときはスペース空けたほうが見やすい
今、SQLとかタグとかを直にかいている部分を分離しています。
この書き換えと一緒にやっておこうと思います。
370nobodyさん:2006/10/03(火) 12:16:23 ID:???
テーブル定義はついでにnot null制約くらいはつけようね。

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

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

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

セッション使うほうがいいと思うよ。
371nobodyさん:2006/10/04(水) 18:32:12 ID:???
表示まわりをちょっといじってみました。

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

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

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

>セッション使うほうがいいと思うよ。
う〜ん、ピンとこないですごめんなさい。
ヒントもらえませんか?
372nobodyさん:2006/10/04(水) 20:45:12 ID:???
そんな複雑な掲示板必要なのかな?
使う人も、若干使いにくいような気がするんだけど。

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

スレッド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:19 ID:???
そです。

ツリー表示はやっぱり必要かなと思いますが、インデントが深くなるタイプには
したくない気がします。
メッセージの下にぶら下がってるレス全部の数くらいは表示したいです。
374nobodyさん:2006/10/05(木) 00:12:02 ID:???
インデントっていうのは見た目(表示)の問題でしょ。

ツリー式掲示板ってさ

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

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

っていうのを一般的に言うよ。
375qbbs ◆s8fp98fd5k :2006/10/05(木) 00:53:12 ID:???
私のいうツリー掲示板は、たとえば
http://www.kent-web.com/bbs/wforum/wforum.cgi
こういうものです。
376nobodyさん:2006/10/13(金) 12:56:33 ID:???
>>374
くそ作者どものお陰で定義は滅茶苦茶
最近大御所が時間軸をツリー表示と言い出した
これ以上「ツリー型」の定義が広まれば収集つかんぞ

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

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

>>376
>大御所が時間軸をツリー表示と言い出した
どこの話よ?
378nobodyさん:2006/10/15(日) 02:53:02 ID:???
>>374
恥かしい人発見 コメントリンクって知ってるか? 

>っていうのを一般的に言うよ。
ttp://e-words.jp/?w=%88%EA%94%CA%93I
379nobodyさん:2009/03/08(日) 16:03:39 ID:???
tree BBSつくるならCMTにも対応してほしい
380 【21.5m】 電脳プリオン:2012/05/20(日) 23:15:34.97 ID:??? BE:354732375-PLT(12079)
作れそうにないな
381nobodyさん
今どうなってる