2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

phpのツリーのアルゴリズムがわかんねんんだよ!

1 :nobodyさん:02/03/10 17:26 ID:G6SLgnQA.net
教えてください(´Д`;)
mysql使って普通の掲示板は組めたんですがそれにレスできる
こんな感じ↓
コメント1
コメント1
コメント1に対するレス
コメント1
簡単なサンプルで解説してください
本スレで教えてもらったけど何度が高すぎました。。
>>2
掲示板ソース、コレにコメント付けれるように直すにはどうすれば
いいんでしょうか?

18 :困った1(´Д`;) ◆JjsLsZzw :02/03/11 19:16 ID:6zR1ua/0.net
>>17
とりあえずそれ組んでみます
ありがとうございます。

19 :nobodyさん:02/03/11 21:36 ID:???.net
メッセージID(自分ID)と親IDだけあればいいんでないの?

20 :困った1(´Д`;) ◆JjsLsZzw :02/03/11 21:56 ID:6zR1ua/0.net
>>19
とりあえずDBでoyaidとtreeid作りました(msgnoは最初からある)
今日は寝るので明日指導してくだちゃい。おやすみなさい、、

21 :13:02/03/12 00:41 ID:???.net
>>19
禿同。単なる有向グラフと思われ。


22 :困った1(´Д`;):02/03/12 15:55 ID:BOgC8D8B.net
treeID作りました!型はintですがいいんでしょうか?
これをレス型にするにはどうすれば・・?
レス型に書き直してください(;;)
<?php
$db=mysql_connect("localhost","*****",****);
mysql_select_db(tree);
if($name&&$msg)
{
$msg=ereg_replace("\r\n|\r|\n","<BR>\n","$msg");
mysql_query("insert into tree(datetime,name,msg) values(now(),'$name','$msg')");
}
$hoge="select * from tree order by msgno desc";
$sql=mysql_query($hoge);
while($array=mysql_fetch_array($sql))
{
$msgno=$array[msgno];
print("投稿番号$msgno<BR>");
print("投稿者:$array[name]  投稿時刻:$array[datetime]<BR>");
print("<BR>$array[msg]<HR>");
}
?>
</BODY>
</HTML>

23 :nobodyさん:02/03/12 16:22 ID:???.net
「レスをする」ということで、レスをするツリーIDを渡す


24 :困った1(´Д`;) ◆JjsLsZzw :02/03/12 16:26 ID:BOgC8D8B.net
>>23
というと?それは具体的に何をするんでしょうか?
あたいの脳がその部分だけかけていて考えられないのです!
サンプル組んでください!

25 :nobodyさん:02/03/12 16:43 ID:???.net
人に教えるのって面倒だな・・・

26 :nobodyさん:02/03/12 17:01 ID:???.net
サンプル組むってほどのものかよ。。。

セッションでツリーID渡すかINPUTタグのHIDDENで仕込んどけ

27 :13:02/03/12 19:18 ID:???.net
そろそろ放置かな。


28 :nobodyさん:02/03/13 08:16 ID:???.net
だから親のIDを持っとくんだってばさ
mysql_query("insert into tree(datetime, name, msg, refid) values(now(),'$name', '$msg', '$oyaIDne')");

あとは再帰でツリーは描けるから。

29 :nobodyさん:02/03/13 15:49 ID:???.net
PHP4サンプル集 秀和システム 著 山田祥寛
ここにそのまま載ってるぞ
よって
===============終了===============

30 :困った1(´д`) ◆JjsLsZzw :02/03/13 16:34 ID:bTyUwLh6.net
>>29
買ってきます!
あと最後にこれ教えてください、自分でソース読んだけどしくみが
わからん、ツリーはわかったけどこれができなきゃね♪
質問スレでも聞いたけど、マルチじゃないよ
http://www.dcl.info.waseda.ac.jp/~hasegawa/php/bbs.html
ここのスクリプトで
http://www.dcl.info.waseda.ac.jp/~hasegawa/php/source/bbs1/bbs1.php
これのレスの中身を見るときprint_numbe
使ってますけどこれどういう仕組みなんでしょうか?
これ最後で!タノンます(´д`)
トリップも公開します!#ore

31 :nobodyさん:02/03/13 16:42 ID:???.net
根気のいい俺でもそろそろ限界か?
リンクに貼ってあるprint_numberっていうパラメータのこと聞いてるんだよ
ね?
君は基本的にCGIを1から勉強した方が良いかと思われ。
>>29で紹介した本を買って、その他いろんなドキュメントを読んでみれ。

32 :nobodyさん:02/03/13 16:43 ID:???.net
ついでに
再帰もほどほどの件数にしとかないとメモリ食うからね。

33 :nobodyさん:02/03/13 18:56 ID:OqBWlBtp.net
>>30
http://www.dcl.info.waseda.ac.jp/~hasegawa/php/source/bbs1/bbs1.php?print_number=1
って言うふうに使うのだと思われ

34 :nobodyさん:02/03/13 19:00 ID:OqBWlBtp.net
>>30
ごめん、間違えた(汗)

http://www.dcl.info.waseda.ac.jp/~hasegawa/php/source/bbs1/bbs1.phps
http://www.dcl.info.waseda.ac.jp/~hasegawa/php/source/bbs1/show_contents1.phps

この辺見れ。EUCだけどナー

35 :◆JjsLsZzw :02/03/13 19:10 ID:bTyUwLh6.net
>>34
(゚д゚)ハッ!良く見直してみたらわかった!
ツリーの仕方もログ読み直してわかった!
ありがとうございます!!!1111!!!
しばらくがんばってみますね!
できそうです。
あとあのサンプルスクリプト集って本いい本なんですかねぇ?

36 :nobodyさん:02/03/13 19:11 ID:OqBWlBtp.net
再起だけど

function tree ($parent = 0) {
$result=mysql_query("select * from tree where parent = $parent order by no desc");
while($array=mysql_fetch_array($result))
{
print("{$array[no]}");
print("{$array[name]}");
print("{$array[date]}");
print("{$array[msg]}");

tree($array[no]); // 再起呼出
}
mysql_free_result($result);
}

ってやればイイと思われ。
ちなみに動作未確認。
あとは自分で頑張れ。


37 :1 ◆JjsLsZzw :02/03/13 19:46 ID:???.net
>>36
ありがとう(p_`)
こんなに優しくされたの初めてだよ、これをリファレンスにするよ

38 :nobodyさん:02/03/14 02:24 ID:80hRLeB+.net
あ、ちょっとどうでもイイけど、
print 使うより echo 使ったほうが早いよ。

39 :nobodyさん:02/03/18 17:09 ID:???.net
>>38
そうなん?
printは値を返すからその分スピードがechoの方が速いって解釈で
いいのかな?
ってかprintってエイリアスなのだろうか。

40 :真実:03/01/02 16:46 ID:???.net
 あるネット関連会社の社長は、「いずれにしても2ちゃんねるは
資金が底をつけば終わり。あまり知られていないことだが、
2ちゃんねる内部関係者によると今、大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」と証言する。
2ちゃんねるが判決によって力を失った場合、資金提供の打ち切りも予想される。
http://ascii24.com/news/reading/causebooks/2002/07/01/636911-000.html

 以下、別の記事のキャッシュ http://memo2ch.tripod.co.jp/article.html
 2ちゃんねるに近いあるインターネット関連会社の社長は、2ちゃんねるの幹部から得
た話として証言する。「2ちゃんねるは、運営者や幹部などがそれぞれ別々に会社を
作りカネの流れを見え難くしているが、実際の資金源は複数の大手通信会社系からの
調査費名目のカネ。月額で計約700万円と言い、年間にすれば1億円近く。額はともあ
れ、これは通信会社系的には、ぼう大なトラフィックを調査すると言う表向きの理由
が一応は立つ。自社系に都合の悪い書き込みがされた時に優先的に削除してもらうこ
とも期待している」と前置きし「通信会社系の削除の期待も含めて、2ちゃんねるは
総会屋と同じになっている」と言うのだ。
 その具体的な理由として社長は、こう話す。「2ちゃんねるはボランティアの削除人
が書き込みをチェックして、好ましくない書き込みを一所懸命削除している、という
ことになっているが、あれはウソ。削除人には給料が支払われ、その給料の原資と
なっているのが、まずいことを書き込まれた企業が削除要求とともに渡す裏金。これ
はまさに、総会屋の構図そのものだ。これまで裁判になっているのは金額で折り合え
なかったり、裏金を出さない強い態度の企業とだけだ」


41 :山崎渉:03/01/15 13:38 ID:???.net
(^^)

42 :山崎渉:03/03/13 17:42 ID:???.net
(^^)

43 :nobodyさん:03/03/13 19:06 ID:???.net
>>39
何かagaってるのでついでに書いておくと、ソース見れば判る
(エイリアスの定義があるのでCがそんなに読めなくても判るよ)けど、
エイリアスじゃないです。リファレンスで調べても戻り値のある/なしや
引数の違い(,区切りで複数OKなど)もあるので、その辺でも判るかと。

44 :山崎渉:03/04/17 12:17 ID:???.net
(^^)

45 :山崎渉:03/04/20 06:17 ID:???.net
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

46 :山崎渉:03/05/22 02:18 ID:???.net
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

47 :山崎渉:03/05/28 17:11 ID:???.net
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

48 :t-akiyama:03/05/30 21:47 ID:???.net
携帯ゲーム機"プレイステーションポータブル(PSP)

 このPSPは、新規格UMD(ユニバーサルメディアディスク)というディスクを利用しており、そのサイズは直径6cmととても小さい(CDの半分程度)。 容量は1.8GBとなっている。
画面は4.5インチのTFT液晶で、480px x 272px(16:9)。MPEG4の再生やポリゴンも表示可能。外部端子として、USB2.0とメモリースティックコネクタが用意されているという。

この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。
任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。

49 :山崎 渉:03/07/15 11:23 ID:???.net

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

50 :山崎 渉:03/08/02 02:30 ID:???.net
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

51 :ぼるじょあ ◆ySd1dMH5Gk :03/08/02 05:04 ID:???.net
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

52 :山崎 渉:03/08/15 23:22 ID:???.net
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

53 :nobodyさん:04/06/17 09:14 ID:???.net
便乗質問、
HTMLに関する質問ですが、ツリーのアルゴリズムについてなので。。。

HTMLタグの<ul><li><li></ul>をネストして書こうと思っているのですが、
データベースを使っていたりデータベースをチューニングしてる関係などにより、

各項目について、
●上から何番目か($nとします)・・・@seq =(1,2,3,4,5,6,7,8,9,10)とし、$nには1,2,3,4,..10が入ります
●階層の深さが何階層目か($depth[$n]とします)
●項目名($name[$n]とします)

しかわかっていません。

★参考:<ul><li></li></ul>の見た目とソースの対応を、下記URLにおいておきます。
http://31.com/tmp/ul_algorithm.html


で、やりたいのはこれらの情報を使って
*上から順*にソースを書き込んでいきたいということです。
そのためのアルゴリズムがわからずに苦慮しています。

$depth[n]=$depth[n-1]のときは、
単に<li>name(n)</li>と書けばいいことは自明です

しかし、それ以外のパターンのアルゴリズムがわからず。。。

なお、アルゴリズムの考え方やそのヒントでも、phpでやperlのソースでも、
あるいは、ヒントだけでもいいので、教えていただければ幸いです。

54 :53:04/06/17 23:25 ID:hAY00qtb.net
どなたかお願いします。

55 :nobodyさん:04/06/18 08:59 ID:???.net
> しかし、それ以外のパターンのアルゴリズムがわからず。。。
行頭 → <ul> * $depth[n]
$depth[n-1]-$depth[n]=1 → <ul>
$depth[n-1]-$depth[n]=2 → <ul><ul>
$depth[n-1]-$depth[n]=-1 → </ul>
行末 → </ul> * $depth[n]

単純にこれじゃダメかい?

56 :53:04/06/19 00:51 ID:???.net
>>55さん、ありがとうございます。そうか、ulとliをいっぺんに考えてたから、混乱してました。
最初にulを考えて、そのあとliを考えたらうまくいきました。参考までにそのソース。

while ($row = pg_fetch_array($rs)) {
    $n++;
    $depth[$n] = $row[depth];//深さ(最小は1)
    $name[$n] = $row[name];//項目名

    //わかりやすく
    $now_depth = $depth[$n];
    $name = $name[$n];

    //</li></ul>を挿入
    $ul_li_insert = $before_depth - $now_depth;
    if ($n >= 2) {
        if ($ul_li_insert >= 0) $HTMLcattree .= "</li>\n";
        for ($i=1;$i<=$ul_li_insert;$i++){
            $HTMLcattree .= "</ul>\n";
            $HTMLcattree .= "</li>\n";
        }
    }

    //<ul><li>を挿入
    $ul_li_insert = $now_depth - $before_depth;
    for ($i=1;$i<=$ul_li_insert;$i++){
        $HTMLcattree .= "<ul>\n";
    }


57 :53:04/06/19 00:51 ID:???.net
(つづき)
    $HTMLcattree .= "<li>\n";

    //項目名を表示
    $HTMLcattree .= $name;

    //「前の項目の階層数」として使う
    $before_depth = $now_depth;

}

//締めの、</li></ul>を挿入
$ul_li_insert = $before_depth;
$HTMLcattree .= "</li>\n";
for ($i=1;$i<=$ul_li_insert;$i++){
    $HTMLcattree .= "</ul>\n";
    $HTMLcattree .= "</li>\n";
}
$HTMLcattree .= "</ul>\n";

print $HTMLcattree;

//ありがとうございました。

58 :125x100x255x204.ap125.ftth.ucom.ne.jp:2006/03/30(木) 00:25:16 ID:???.net
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

59 :st0004.nas931.miyazaki.nttpc.ne.jp:2006/03/30(木) 06:12:25 ID:???.net
てst

60 :nobodyさん:2006/08/22(火) 10:16:04 ID:???.net
コンピュータサイエンスの基本として、データ構造〜とりわけツリーの扱いは基本かつ大事なんですね。

61 :nobodyさん:2009/05/09(土) 16:15:08 ID:unp/QYBC.net
>>1
 Z
  z
  z
 <⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄


62 :nobodyさん:2011/11/21(月) 15:28:47.26 ID:???.net
てすと

63 :電脳プリオン 忍法帖【Lv=40,xxxPT】(5+0:8) 【20.9m】 :2013/02/10(日) 19:51:41.68 ID:???.net ?PLT(12080)
  ∧_∧
  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>50
            / ←>>45

64 :nobodyさん:2013/12/28(土) 23:28:41.33 ID:xIlaW9Uf.net
グーグルの検索エンジンのアルゴリズムについて
http://webblogsakusei.main.jp/seo_taisaku_syukyaku.html

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

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

Z1UWE85V4W

66 :nobodyさん:2022/10/13(木) 14:18:01.51 ID:???.net
ZSRqkA5uq

67 :nobodyさん:2023/08/15(火) 11:45:17.13 ID:???.net
やめてっ!そこはビンカンなの!

22 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★