Похоже, что вам нужно несколько изменений, во-первых, чтобы вернуть собранную строку из подпрограммы в конце ...
}
$str .= '</ul>';
}
return $str;
}
Во-вторых, когда вы вызываете подпрограмму рекурсивно, вам нужноустановить возвращаемое значение для строки, которую вы генерируете ...
$str = $this->deneme($row['id'], $sub_mark, $str);