Циклические функции или цикл в цикле

Рейтинг: 0Ответов: 0Опубликовано: 05.08.2023

Доброго времени суток!

У меня имеется две функции chapter и chapterId. Обе функции используют циклы для того, что бы получить все данные с обоих таблиц. Это работает примерно так:

Первая таблица Sc_rules_chapter содержит в себе столбцы id, title. Вторая таблица Sc_rules_id содержит столбцы id, chapter, chapter2, name и punishment.

Вот так выглядят функции:

<?php
private function chapterId($chapter = "")
{
    ob_start();
    $query = $this->db->query("SELECT * FROM `Sc_rules_id` WHERE `chapter` = '$chapter'");
    if (!$query || $this->db->num_rows() <= 0) {
        echo "none";
    }
    while ($arg = $this->db->fetch_assoc($query)) {
        $data = array(
            "chapter" => $arg["chapter"],
            "chapter2" => $arg["chapter2"],
            "name" => $arg["name"],
            "punish" => $arg["punishment"]
        );
        echo $this->core->loadPage("modules/rules/chapter-id", $data);
    }
    return ob_get_clean();
}

private function chapter()
{
    ob_start();
    $query = $this->db->query("SELECT * FROM `Sc_rules_chapter`");
    if (!$query || $this->db->num_rows() <= 0) {
        echo "error";
    }
    while ($arg = $this->db->fetch_assoc($query)) {
        $data = array(
            "chapter" => $arg["chapter"],
            "name" => $arg["name"],
            "list" => $this->chapterId($arg["chapter"]),
        );
        echo $this->core->loadPage("modules/rules/chapter", $data);
    }
    return ob_get_clean();
}
?>

Когда в $data у функции chapter вставить функцию chapterId, работает только по одному запросу в бд, то есть он выводит только 1 результат из бд Sc_rules_chapter, как это исправить?

Ответы

Ответов пока нет.