使用循环显示mysqli的值

时间:2013-05-01 09:59:24

标签: php mysql loops mysqli

我需要能够在course_desc旁边的第30行显示course_name

<?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";
        }
    }
    }

?>

2 个答案:

答案 0 :(得分:1)

您已在$final中获得了课程说明,因此您可以使用

进行访问
$final[$name]['course_desc']

我已根据您的更改创建了paste。另请注意,需要更改$final数组。

答案 1 :(得分:0)

distinct course_name,course_desc表示您尝试一起获取有关不同course_name和distinct course_desc的值。您可能想要使用group by。如果我理解正确,你的陈述将不会为你带来不同的课程名称及其相关的课程设置。 (如果这就是你想要的)