0

ここで、各$forum_topic_nameを含む配列があるネストされた配列を作成する必要があります。次に、その配列内に、関連する各 $subtopic_name をリストする必要があります

$find_forum_topics = mysqli_query($con, "SELECT * FROM forumTopics ORDER BY listValue ASC");

while ($find_forum_topics_row = mysqli_fetch_array($find_forum_topics)) {
    $forum_topic_name[] = $find_forum_topics_row['topicName'];

    $find_forum_subtopics = mysqli_query($con, "SELECT id, subTopicName FROM forumSubTopics WHERE topicID='$forum_topic_id' ORDER BY listValue ASC");

    while ($find_forum_subtopics_row = mysqli_fetch_array($find_forum_subtopics)) {
        $subtopic_name[] = $find_forum_subtopics_row['subTopicName']; 
    }
}

私の最終的な目標は、JSON としてエンコードして、次のように表示できるようにすることです。

<div class="topic">
    <div class="topicname">Topic 1</div>
    <div class="subtopics">
        <div class="subtopicname">Subtopic 1</div>
        <div class="subtopicname">Subtopic 2</div>
    </div>
</div>
<div class="topic">
    <div class="topicname">Topic 2</div>
    <div class="subtopics">
        <div class="subtopicname">Subtopic 1</div>
        <div class="subtopicname">Subtopic 2</div>
    </div>
</div>
etc...
4

1 に答える 1

0

いくつかのオプションがありますが、次のものを使用できます。

$find_forum_topics = mysqli_query($con, "SELECT * FROM forumTopics ORDER BY listValue ASC");

while ($find_forum_topics_row = mysqli_fetch_array($find_forum_topics)) {
    $topicName = $find_forum_topics_row['topicName']; // get topic name
    $forum_topic_name[$topicName] = array(); // use it as key to array

    $find_forum_subtopics = mysqli_query($con, "SELECT id, subTopicName FROM forumSubTopics WHERE topicID='$forum_topic_id' ORDER BY listValue ASC");

    while ($find_forum_subtopics_row = mysqli_fetch_array($find_forum_subtopics)) {
        $forum_topic_name[$topicName][] = $find_forum_subtopics_row['subTopicName']; // add sub topics
    }
}
于 2013-11-12T02:11:30.077 に答える