【问题标题】:Displaying values from mysqli with loop使用循环显示来自 mysqli 的值
【发布时间】:2013-04-25 07:55:18
【问题描述】:

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

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

?>

【问题讨论】:

  • 请把代码贴在这里,不要链接到外部网站。

标签: php mysql loops mysqli


【解决方案1】:

您已经在$final 中有您的课程描述,因此您可以使用它来访问它,

$final[$name]['course_desc']

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

【讨论】:

  • 嗨,这没有显示 course_desc。它还搞砸了 $module_name 的显示
  • @Greystoke - 忘了提到您需要将显示模块名称的方式也更改为$final[$name][$value]。还要检查var_dump($final) 你到底得到了多少
  • 另外,如果你不想改变你的最终数组,你应该得到$final[$name][0]['course_desc']的描述。
  • $final[$name][0]['course_desc'];是我需要的。谢谢。
【解决方案2】:

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

【讨论】:

  • 所以我需要从第二行删除'distinct'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-24
  • 2014-05-25
  • 2017-01-27
  • 1970-01-01
  • 2021-03-31
相关资源
最近更新 更多