質問: bbsのレスを表示させるためのsqlについて お疲れ様です。 いつもお世話になっております。 http://www3.rocketbbs.com/401/sample.html こちらはロケットbbsなのですが、このような掲示板をphpで製作中です。 dbはすでに組んであります。 キーになるのは 記事テーブル 記事id レステーブル レスid 記事id です。 当然ですが、記事id1個に対して複数のレスidがつきます。 これを1個のsqlで記事とレスを拾い、記事データの配列の中に、複数レスの配列をいれ、smartyでループして表示。ということを考えています。 今行き詰ってるのが select 記事.*,レス.* from 記事 left join 記事.記事id=レス.記事id; というsqlを組んでいますが、見たとおり、これでは1記事1レスで重複してしまっています。 group byで何とかならないかなぁとも考えているんですが、fetchで出したあと配列どうするんだ?という疑問も残ってまして・・・。 そもそも1つのクエリで、というのが間違ってるんでしょうか。 以下が環境です。 php 4.4.x mysql 5 上記を実現しているbbsサンプルスクリプトの場所とか、sqlの書き方など何かございましたらご指示いただければと思います。
回答: 蛇足の蛇足ですが^^; >親記事idが特定の値(0とかマイナスとか)の場合は、 mysqlの場合ですとauto_incrementを使用すると思いますが、 これの初期値は大概が1なので「親記事は1」といった前提で開発する必要があります。 子記事の番号を出したい場合は1引かないとちょっとアレゲに見えてしまうことに注意ですね。