2013-11-12 2 views
0

мне нужно, чтобы создать вложенные массивы здесь, где есть массив, который содержит каждый $ forum_topic_name, а затем в пределах этого массива, я должен перечислить каждый из которых связан $ subtopic_nameсоздавать вложенные массивы из PHP цикла

$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... 

ответ

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 
    } 
} 
+0

Спасибо ... теперь как я могу получить это в массив, который я могу кодировать в JSON? –

+0

@Danw hm, просто попробуйте 'echo json_encode ($ forum_topic_name);' –

+0

Итак, он возвращает это: {«Тема 1»: [], «Тема 2»: [], «Тема 3»: [], «Тема 4 ": []," Topic 5 ": []," Topic 6 ": []} --- но в подтемах нет таких вложенных массивов –

Смежные вопросы