[PHP-users 24983] Re: 返信機能付き掲示板について
Seto
seto @ 1kg.jp
2005年 3月 20日 (日) 18:02:06 JST
Setoです。
中略
>> 3.最初の投稿のrootidはmessidと同じ値をセットしておく。
>このあたりからよく分からなくなってきました。
表現がわかりづらかったかもしれません。
最初の投稿データを保存するときに
そのデータのrootidフィールドの値は
そのデータのmessidフィールドの値をセットしておく。
ということです。
これは4または5のデータ抽出をするときに最初の投稿データも
一緒に拾い出させるために楽をしようとしているだけです。
>> 4.表示のときはrootidが同じものだけDBより拾い出す。
>ちょっとMYSQLの話になりますけど、同じものだけなんてどうやって指定
>するんですか?
SELECT * FROM テーブル WHERE rootid=xx;
xxは拾い出したい投稿の根源となるデータのmessidです。
同じrootidのデータのみ抽出されます。
このとき WHERE rootid=xx ORDER BY messid; としたほうが良いでしょう。
messidでソートされて拾い出されます。
前述3の「最初の投稿データのrootidにはmessidをセット」とは
しなかった場合のSQLは
SELECT * FROM テーブル WHERE rootid=xx OR messid=xx;
となります。
>> 5.または表示のときはrootidとmessidでソートをかけてDBより拾い出す。
>これはさっぱりです。
SELECT * FROM テーブル ORDER BY rootid,messid;
こちらは 同じrootidでmessid順にソートした全データが拾い出されます。
こんな感じでしょうか。
たしか前の投稿でphpmyadminを利用されていると書かれていましたよね。
ブラウザインターフェースで条件指定した結果、生成されたSQLが表示されたと
思いますので、それを確認してみるのもひとつです。
素朴な掲示板でしたらSQLの基本的部分だけ覚えればできますので
勉強したほうが、結果的に近道だと思います。
PHPで書かれたフリーの掲示板スクリプトとかもありますので
それを見るというのも一つかもしれません。
Junya Seto
PHP-users メーリングリストの案内