Добрый день.
Ребята очень вас прошу помогите да с рекурсией отображения каталогов
Вот пример кода
private string РекурсивныйСписок(string kode)
{
OleDbCommand select_array = new OleDbCommand("SELECT * FROM table WHERE PARENTKOD = '" + kode + "'");
DataTable dt_array = new DataTable(select_array);
List<string> array = new List<string>();
string ids = null;
array.Add(dir);
foreach (DataRow dd_s in dt_array.Rows)
{
array.Add(dd_s["KOD"].ToString());
//this.РекурсивныйСписок(dd_s["KOD"].ToString());
}
return array.Count().ToString();
}
Что тут не так но не выводит нужный список рекурсивных каталогов, на PHP я делал но типа такого
public static function list_noHtml($cats = null,$parent_id = null)
{
if (is_array($cats) and count($cats[$parent_id]) > 0)
{
$tree = '';
foreach ($cats[$parent_id] as $cat)
{
$tree .= $cat['code'].',';
$tree .= self::list_noHtml($cats, $cat['code']);
}
} else
{
return null;
}
return $tree;
}
$resultcat1 = $dbase->executeQuery("SELECT * FROM `tbl_catalog` WHERE position > 0 ORDER BY `position`")->fetchAll();
$resultcat2 = $dbase->executeQuery("SELECT * FROM `tbl_catalog` WHERE position = 0 ORDER BY `name`")->fetchAll();
$resultcat = array_merge($resultcat1, $resultcat2);
$catscat = [];
foreach ($resultcat as $catcat)
{
$catscat[$catcat['parent_code']][] = $catcat;
}
$result = \substr($catid.','.Store::list_noHtml($catscat, $catid), 0, -1);
Никак не могу вот воссоздать то что я делал в PHP на c#.
Помогите да очень вас прошу, уже 2 дня ломаю голову.
Структура SQL таблицы
table
KOD
NAME
PARENTKOD