MYSQL クエリは、このオブジェクトの配列を取得しています (少し短縮されています):
Array
(
[0] => stdClass Object
(
[parentTitle] => Winner 2009
[catTitle] => Max Muster
[title] => drm202
)
[1] => stdClass Object
(
[parentTitle] => Winner 2009
[catTitle] => Max Muster
[title] => drm202
)
[2] => stdClass Object
(
[parentTitle] => Winner 2011
[catTitle] => Josh Frank
[title] => A bird in the cage
)
[3] => stdClass Object
(
[parentTitle] => Winner 2011
[catTitle] => Josh Frank
[title] => cue & repeat
)
...
)
この配列から、次のような順序付けられていない Html リストを作成するにはどうすればよいですか。
<ul id="content">
<li>Winner 2009
<ul>
<li>Max Muster
<ul>
<li>drm202</li>
</ul>
</li>
</ul>
</li>
<li>Winner 2011
<ul>
<li>Josh Frank
<ul>
<li>A bird in the cage</li>
<li>cue & repeat</li>
</ul>
</li>
</ul>
</li>
</ul>
最初の 2 つのオブジェクトは同じであるため、UL では、親の勝者 2009 の下に人物 + タイトルを 1 回だけリストする必要があります。2011 年の勝者には 2 つの勝者プロジェクトがあるため、これら 2 つの異なるプロジェクトは彼の下にリストする必要があります。
私のアプローチは、配列を満たす foreach ループを持つことでした
foreach ($results as $object) {
// fill array
$array[] = "</ul><ul><li><h2> " . $object->parentTitle . "</h2>\n</li>";
$array[] = "<li><h5>" . $object->catTitle . "</h5></li>\n";
$array[] = "<li> - " . $object->title . "</li>\n";
}
そしてダブルスを蹴り出す
$array = array_unique($array);
この方法は非常に不便で間違っているようです。
助けてくれてありがとう、
トニー