以下をご検討ください。
次のような関係を持つテーブルを設定しています。ルートが、ルートに関連する情報を含む subRoot テーブルと 1:1 の関係を持つ階層構造。クエリと単純な while ループを使用して、図のようにテーブルを表示できます。
単純化されたモデル:
Father 1:n Child 1:n Root 1:1 subRoot
--- --- --- ---
1 S1 P1 yes
1 S1 P2 no
1 S2 P1 no
1 S2 P2 no
1 S3 P1 yes
1 S3 P2 yes
↓ ↓ ↓ ↓
私が達成しようとしているのは、以下を表示することであり、かなりの問題を抱えています...
Father Root S1 S2 S3 →
--- --- -- -- --
1 P1 yes no yes
1 P2 no no yes
↓
編集:私が生成できるテーブルのコード(最初のもの)。これは、私がここに投稿するにはあまりにも長く働いているコードとして適応されたコードです。(間違っていたらすみません…)
<?
$q="SELECT * FROM
Child ,
Root,
subRoot
WHERE
Child.Father_ID = 1 AND Child.ID = Root.ID AND Root.ID2 = subRoot.ID2";
$r=mysql_query($q);
$num=mysql_num_rows($r);
?>
<table class="jl_tbl" id="hor-minimalist-b">
<tr>
<th width="20px">Child</th>
<th width="150px">Root</th>
<th width="3%">subRoot</th>
</tr>
<?
$i=0;
while ($i < $num) {
$Child=mysql_result($r,$i,"Sx");
$Root=mysql_result($r,$i,"Px");
$subRoot=mysql_result($r,$i,"YN");
?>
<tr>
<td><? echo $Child; ?></td>
<td><? echo $Root; ?></td>
<td><? echo $subRoot; ?></td>
</tr>
<?
$i++;
}
?>
@verbumSapienti の編集。