2013-05-01 3 views
0

Мне нужно уметь отображать course_desc в строке 30, рядом с course_name.Отображение значений из mysqli с помощью цикла

<?php 

    $result = $db->query("select distinct c.dbid, c.course_name, c.course_image, m.module_id, m.module_name, m.module_name_id, m.module_image, m.hasFiles, m.files from courses c join modules_to_courses mc on (c.dbid = mc.courses_id) join modules m on (mc.modules_id = m.module_id)"); 

    $course_name = $db->query("SELECT distinct course_name, course_desc FROM courses"); 

    while ($temp = $course_name->fetch_assoc()) { 
    $courses[] = $temp['course_name']; 
    } 

    $final = array(); 

    // Retrieve results 
    while ($row = $result->fetch_assoc()) { 

    // Add to final array via counter if valid course is found 
    if (in_array($row['course_name'], $courses)) { 
     $final[$row['course_name']][] = $row; 
     } 

    } 

    // Display if final array is not empty 
    if (!empty($final)) { 
    // Loop through each potential course name 
    foreach ($courses as $name) { 
     // Output if the course has values within the final array 
     if (array_key_exists($name, $final)) { 
     echo '<div>'."\n"; 
     echo ' '. $name . "\n"; 
     echo '<!-- list of modules -->'."\n"; 
      // Loop through internal values 
      foreach ($final[$name] as $value) { 

      $module_name = $value['module_name']; 

      echo ' '. $module_name ."\n"; 
      } 
      echo ' </div>'."\n"; 
     } 
    } 
    } 

?> 
+3

Пожалуйста, разместите здесь код, не ссылайтесь на внешние сайты. –

ответ

1

Вы уже имея описание вашего курса в $final так что вы можете получить доступ к нему с помощью,

$final[$name]['course_desc'] 

Я создал paste основанный на ваших с изменениями. Также обратите внимание, что необходимо изменить массив $final.

+0

Привет, Это не отобразило course_desc. Он также испортил отображение $ module_name – Greystoke

+0

@Greystoke - забыл упомянуть, что вам нужно изменить способ отображения имени модуля также как '$ final [$ name] [$ value]'. Также проверьте 'var_dump ($ final)' на то, как именно вы получаете – Rikesh

+0

Также, если вы не хотите менять свой последний массив, вы должны получить описание как '$ final [$ name] [0] ['course_desc']'. – Rikesh

0

отчетливый COURSE_NAME, course_desc означает, что вы пытаетесь извлечь значения относительно к отчетливой COURSE_NAME и отчетливым course_desc вместе. Вместо этого вы можете использовать группу. Если я правильно понял, ваше заявление не принесет вам отдельных названий курсов и их связанных курсов. (Если это то, что вы хотите)

+0

Так что мне нужно удалить «отдельный», со второй строки – Greystoke