Циклические функции или цикл в цикле
Доброго времени суток!
У меня имеется две функции 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, как это исправить?
Источник: Stack Overflow на русском