... для этого уровня, т.е. если записей нет, то и
#эти тэги не нужны.
$this_count = 0;
//$menu = "";
foreach ($parts_array as $idx => $element) {
#Выводим раздел текущего уровня (тот, чей идентификатор родителя
#равен заданному при вызове функции ($parent_id)).
if ($element[1] == $parent_id) {
$this_count++;
#Вывод HTML очередного пункта меню.
$menu .= ($this_count == 1) ? "
");
#Самое интересное: функция вызывает саму себя для формирования
#дочерних узлов текущего раздела.
$menu .= get_hierarchy($parts_array, $element[0]);
$menu .= "
";
}
}
$menu .= ($this_count > 0) ? "
" : "";
return $menu;
}
#Начальный вызов: идентификатор родительского раздела равен
#нулю, т.е. "родителя нет".
function f_read() {
global $prefix, $db, $conf, $user;
$filter = "";
$page = intval($_GET['page']);
$start= ($page !=0) ? 20*($page-1) : 0;
$limit= 20;
$cid = intval($_GET['cid']);
$title = "";
//----------------------------------
//******** список категорий ********
//----------------------------------
$module = "shop";
#Дерево разделов.
#Выбор _всех_ разделов.
$parts_query = $db->sql_query("SELECT id, parentid, title FROM ".$prefix."_categories WHERE modul = '$module' ORDER BY title ASC");
//echo $db->sql_numrows($parts_query);
#Если есть хоть какие-то разделы.
if ($parts_query && $db->sql_numrows($parts_query) > 0) {
$parts_array = array();
$part_data = 0;
#Распихиваем полученные данные в массив.
#Попутно для красоты заменяем возможные пустые поля "parent_id"
#(для разделов, не имеющих родителя) на ноль.
while($part_data = mysql_fetch_row($parts_query)) {
$part_data[1] = isset($part_data[1]) && $part_data[1] > 0 ?
$part_data[1] : 0;
array_push($parts_array, $part_data);
}
mysql_free_result($parts_query);
}
//$category = get_hierarchy($parts_array, 0);
//$module = "shop";
//$filter = ($cid !=0) ? " AND id = " . text_filter($cid) . " OR parentid = " . text_filter($cid) . " " : " AND parentid = 0";
/*
$category = '
/* */
//----------------------------------
//******Информация о товаре(-ах)****
//----------------------------------
if ($id == 0) {
$filter = ($cid !=0) ? " WHERE p.cid = $cid " : "";
$order = ($cid !=0) ? " ORDER BY p.title ASC " : " ORDER BY p.id DESC ";
//echo "SELECT SQL_CALC_FOUND_ROWS p.id, p.cid, UNIX_TIMESTAMP(p.time) as formatted, p.title, p.text, p.mincost, p.com, p.count, p.votes, p.totalvotes, c.id, c.title, c.description, c.img, p.img, p.fid, p.edizm, p.refurl, u.user_name FROM ".$prefix."_products AS p LEFT JOIN ".$prefix."_categories AS c ON (p.cid=c.id) LEFT JOIN ".$prefix."_users AS u ON (p.uid=u.user_id) $filter ORDER BY p.title ASC LIMIT $start, $limit";
$result = $db->sql_query("SELECT SQL_CALC_FOUND_ROWS p.id, p.cid, UNIX_TIMESTAMP(p.time) as formatted, p.title, p.text, p.mincost, p.com, p.count, p.votes, p.totalvotes, c.id, c.title, c.description, c.img, p.img, p.edizm, p.refurl, u.user_name FROM ".$prefix."_products AS p LEFT JOIN ".$prefix."_categories AS c ON (p.cid=c.id) LEFT JOIN ".$prefix."_users AS u ON (p.uid=u.user_id) $filter $order LIMIT $start, $limit");
//$found_rows = $db->sql_query("SELECT FOUND_ROWS()");
$found_rows = mysql_result(mysql_query("SELECT FOUND_ROWS()"),0,0);
$last = "";
$num_rows = $db->sql_numrows($result);
if ($db->sql_numrows($result) > 0) {
$tovary = '