У меня есть массив, который я создал, который состоит из разделов и вопросов. Как я могу прокручивать разделы и отображать вложенные вопросы каждого раздела.
Вот как я создаю массив
$db = db_open(); $query = "SELECT * FROM assessment_selections WHERE assessment_id = '".$annual_assessment["id"]."' AND selection = '1' ORDER BY timestamp ASC"; $result = db_query($db, $query); $result = db_fetch_all($result); if (!is_array) $result = array(); foreach($result as $row) { $section[$row['section_id']][$row['question_id']] = $row; }
Вот массив
Array ( [1] => Array // Section 1 ( [1] => Array // Question 1 ( [assessment_selection_id] => 70 [assessment_id] => 32 [section_id] => 1 [question_id] => 1 [selection] => 1 [timestamp] => 1368172762 ) ) [2] => Array // Section 2 ( [3] => Array // Question 3 ( [assessment_selection_id] => 68 [assessment_id] => 32 [section_id] => 2 [question_id] => 3 [selection] => 1 [timestamp] => 1368166250 ) ) [3] => Array // Section 3 ( [4] => Array // Question 4 ( [assessment_selection_id] => 69 [assessment_id] => 32 [section_id] => 3 [question_id] => 4 [selection] => 1 [timestamp] => 1368172690 ) ) [4] => Array // Section 4 ( [5] => Array // Question 5 ( [assessment_selection_id] => 71 [assessment_id] => 32 [section_id] => 4 [question_id] => 5 [selection] => 1 [timestamp] => 1368174153 ) ) )
Ожидаемые результаты (Как я хотел бы, чтобы их можно было повторить на PHP)
Секция 1
Раздел 2
Раздел 3
Вы должны использовать этот цикл.
foreach($section as $k=>$section) { echo "section $k"; foreach($section as $i=>$question) { echo "question $i ".$question['assessment_id']; //more fields available here } }
Просто используйте foreach
снова:
foreach ( $data as $n => $sect) { echo "Section $n<br>"; foreach ($sect as $q => $qdata) { echo " -> Question $q<br>"; // ... do something } }
foreach($section as $key => $value) { echo "Section ".$key; foreach($value as $key => $value) { echo "Question ".$key; } }