How to concat all the html and tell php to send html in the end of a recursive loop ?
I have recursive loop to build tree from table as (parent-child) nodes.
Functions work well but I want to return full html not to print it, so I use return, which breaks foreach loop.
function show_full_tree($ne_id)
{
$store_all_id = array();
$id_result = $this->comment_model->tree_all($ne_id);
foreach ($id_result as $comment_id) {
array_push($store_all_id, $comment_id['parent_id']);
}
//echo $this->db->last_query();exit;
$this->in_parent(0,$ne_id, $store_all_id);
}
function in_parent($in_parent,$ne_id,$store_all_id) {
if (in_array($in_parent,$store_all_id)) {
$result = $this->comment_model->tree_by_parent($ne_id,$in_parent);
echo $in_parent == 0 ? "<ul class='tree'>" : "<ul>";
foreach ($result as $re) {
echo " <li class='comment_box'>
<div class='aut'>".$re['comment_id']."</div>
<div class='aut'>".$re['comment_email']."</div>
<div class='comment-body'>".$re['comment_body']."</div>
<div class='timestamp'>".date("F j, Y", $re['comment_created'])."</div>
<a href='#comment_form' class='reply' id='" . $re['comment_id'] . "'>Replay </a>";
$this->in_parent($re['comment_id'],$ne_id, $store_all_id);
echo "</li>";
}
echo "</ul>";
}
}