Как рекурсивно заполнить иерархическую структуру из результата запроса CodeIgniterPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как рекурсивно заполнить иерархическую структуру из результата запроса CodeIgniter

Сообщение Anonymous »

Мне нужно создать многомерный массив из данных таблицы базы данных в моем приложении CideIgniter.
База данных имеет 3 столбца: id, OfID и name. Столбец OfID содержит идентификатор родителя этого колледжа. Для колледжей, у которых нет родителя, OfID равен 0.
Массив должен содержать имя, ID и OfID колледжей, у которых OfID=0 в качестве элементов первого измерения. Для колледжей, у которых есть OfID!=0, следует указать массив второго измерения (и т. д.) для колледжа, идентификатор которого у них есть как OfID.
Я думал сделать это рекурсивно, но не могу закончить это. Я знаю, что здесь много ошибок, пожалуйста, помогите.
Следует класс модели: (контроллер вызывает функцию meth())
class Model extends CI_Model
{
var $return_this = array();
function meth()
{
$loop_id = 0;
getit($loop_id);
var_dump($return_this);
}

function getit($loop_id)
{
$index = 0;
$query = $this->db->query("select * from college where OfID=$loop_id ORDER BY `OfID` ASC;");
if ($query->num_rows() > 0) {
foreach ($query->result() as $row) {
$pass = $row->id;
$temp = getit($pass);
if ($temp == 0)
$return_this[$loop_id] = $query->result();
}
} else
return 0;
}
}


Подробнее здесь: https://stackoverflow.com/questions/112 ... r-query-re
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»