... для этого уровня, т.е. если записей нет, то и #эти тэги не нужны. $this_count = 0; //$menu = ""; foreach ($parts_array as $idx => $element) { #Выводим раздел текущего уровня (тот, чей идентификатор родителя #равен заданному при вызове функции ($parent_id)). if ($element[1] == $parent_id) { $this_count++; #Вывод HTML очередного пункта меню. $menu .= ($this_count == 1) ? "" : ""; 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 = '
'; */ //$category = get_hierarchy($parts_array, 0); /*
Tree
*/ $id = intval($_GET['id']); //---------------------------------- // заносим предложения поставщиков //---------------------------------- $cost = save_text($_GET['cost']); $firm = save_text(iconv('utf-8','cp1251', $_GET['firm'])); $adres = save_text(iconv('utf-8','cp1251',$_GET['adres'])); $phone = save_text(iconv('utf-8','cp1251',$_GET['phone'])); $contact = save_text(iconv('utf-8','cp1251', $_GET['contact'])); if ($cost != "" && $firm != "" && $adres != "" && $phone != "" && $contact != "") { $db->sql_query("INSERT INTO ".$prefix."_monitoring (cost, contact, uid, date, sid, organization, adress, phone) VALUES ('$cost', '$contact', '$user[0]', now(), '$id', '$firm', '$adres', '$phone')"); list($mincost) = $db->sql_fetchrow($db->sql_query( "SELECT MIN(cost) FROM ".$prefix."_monitoring WHERE sid = $id")); $db->sql_query("UPDATE ".$prefix."_products SET mincost=$mincost WHERE id=$id"); //echo "SELECT MIN(cost) FROM ".$prefix."_monitoring WHERE sid = $id"; } //---------------------------------- //******** путь к материалу ******** //---------------------------------- //echo "SELECT p.cid FROM ".$prefix."_products AS p WHERE p.id = $id"; if ($id != 0) list($cid) = $db->sql_fetchrow($db->sql_query("SELECT p.cid FROM ".$prefix."_products AS p WHERE p.id = $id")); $result = $db->sql_query("SELECT id, parentid, title FROM ".$prefix."_categories WHERE modul = '$module'"); if ($db->sql_numrows($result) > 0) { $i=0; while (list($arrcid[$i], $arrparentid[$i], $arrctitle[$i]) = $db->sql_fetchrow($result2)) { $i++; } } // определяем родителей $key = array_search($cid, $arrcid); $catpath = "
  • " . iconv('cp1251','utf-8', $arrctitle[$key]) . "
  • "; $title = iconv('cp1251','utf-8', $arrctitle[$key]); //print_r ($arrparentid); /*echo $cid . "
    "; echo $key . "
    "; print_r ($arrcid); echo "
    "; echo $arrparentid[$key] . "

    "; print_r ($arrparentid);*/ while ($arrparentid[$key] != 0) { $key = array_search($arrparentid[$key], $arrcid); $catpath = "
  • " . iconv('cp1251','utf-8', $arrctitle[$key]) . "" . " >
  • " . $catpath; } $catpath = ""; //print_r ($arr); // /* */ //---------------------------------- //******Информация о товаре(-ах)**** //---------------------------------- 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 = ''; while (list($tid, $ccid, $time, $ptitle, $text, $mincost, $com, $count, $votes, $totalvotes, $ccid, $ctitle, $cdescription, $cimg, $img, $edizm, $refurl, $user_name, $cost) = $db->sql_fetchrow($result)) { $tovary .= ""; $tovary .= '"; $tovary .= '"; $tovary .= '"; $tovary .= ""; } $tovary .= "
    '.iconv('cp1251','utf-8',$ptitle)."'.iconv('cp1251','utf-8',$edizm)."'; $tovary .= ($mincost > 0) ? 'от '.$mincost : "-"; $tovary .= "
    "; } //---------------------------------- //******** список страниц ******** //---------------------------------- $count = round_up($found_rows / $limit, 0)-1; //echo $found_rows; $visible = 16; if ($count < $visible) { for ($i=0; $i<=$count; $i++) { $npage = $i+1; $cat = ($cid != 0) ? "&cid=$cid": ""; $pages .= "" . $npage . " "; } } else { //первая страница $pages = "1 "; if ($page > ($visible-2)/2 && $page < $count-($visible-2)/2) { $pages .= "... "; $start = $page-($visible-2)/2; $end = ($page+($visible-2)/2 > $count) ? $count : $page+($visible-2)/2; for ($i=$start; $i<=$end; $i++) { $npage = $i+1; $cat = ($cid != 0) ? "&cid=$cid": ""; $pages .= "" . $npage . " "; } $pages .= "... "; } elseif ($page >= $count - ($visible)/2) { $pages .= "... "; for ($i=$count - ($visible); $i<=$count-1; $i++) { $npage = $i+1; $cat = ($cid != 0) ? "&cid=$cid": ""; $pages .= "" . $npage . " "; } } elseif ($page <= ($visible)/2) { for ($i=1; $i<=($visible); $i++) { $npage = $i+1; $cat = ($cid != 0) ? "&cid=$cid": ""; $pages .= "" . $npage . " "; } $pages .= "... "; } //последняя страница $count++; $pages .= "$count "; } if ($title =="") $title = "Товары"; $title .= ($page > 1) ? " ".$page: ""; } else { $filter = " WHERE p.id = $id "; //$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 time DESC 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.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 time DESC LIMIT $start, $limit"); //$found_rows = $db->sql_query("SELECT FOUND_ROWS()"); $found_rows = mysql_result(mysql_query("SELECT FOUND_ROWS()"),0,0); //echo$found_rows; $last = ""; $num_rows = $db->sql_numrows($result); if ($db->sql_numrows($result) > 0) { list($tid, $cid, $time, $ptitle, $text, $mincost, $com, $count, $votes, $totalvotes, $ccid, $ctitle, $cdescription, $cimg, $img, $fid, $edizm, $refurl, $user_name) = $db->sql_fetchrow($result); $title = iconv('cp1251','utf-8',$ptitle); $tovary .= "
    "; $tovary .= "

    " . iconv('cp1251','utf-8',$ptitle)." (" . iconv('cp1251','utf-8',$edizm).")

    "; $tovary .= ($mincost != "") ? "Цена: $mincost RUB

    " : "Цена: 0RUB

    "; // предложения поставщиков $tovary .= "

    Предложения поставщиков

    "; $tovary .= '
    '; $tovary .= 'Развернуть
    '; //---------------------------------- // выводим предложения поставщиков //---------------------------------- $result2 = $db->sql_query("SELECT cost, contact, uid, DATE_FORMAT(date,'%d.%m.%Y'), sid, organization, adress, phone, url, lng, lat FROM ".$prefix."_monitoring WHERE sid = '$id'"); if ($db->sql_numrows($result) > 0) { $i=0; while (list($cost, $contact, $uid, $date, $sid, $organization, $adress, $phone, $url, $lng, $lat) = $db->sql_fetchrow($result2)) { $i++; $tovary .= ''; $tovary .= ""; //$tovary .= ""; $tovary .= ""; $tovary .= "
    "; $tovary .= iconv('cp1251','utf-8',$organization)."
    "; $tovary .= iconv('cp1251','utf-8',$adress)."
    "; $tovary .= iconv('cp1251','utf-8',$phone) . "
    "; $tovary .= ($contact != "") ? iconv('cp1251','utf-8',$contact) . "
    " : ""; $tovary .= ($url != "") ? "Прайс-лист
    " : ""; $tovary .= "$date
    ".iconv('cp1251','utf-8',$edizm)."$cost RUB
    "; $tovary .= "
    "; $info = "$cost RUB" . "
    " . iconv('cp1251','utf-8',$organization) . "
    ". iconv('cp1251','utf-8',$adress)."
    ". "Прайс-лист
    "; $beaches .= ($lng != null & $lat != null) ? "['$info',$lat, $lng, $i]," : ""; } } $tovary .= "

    Описание товара

    "; $tovary .= ($text != "") ? "" . iconv('cp1251','utf-8',$text)."" : "Описание товара отсутствует"; $tovary .= "
    "; $tovary .= "
    "; } //форма добавления предложения $tovary .= "

    Добавить предложение


    Цена (руб.):
    Организация:
    Адрес отгрузки:
    Телефон:
    Контактное лицо:
    "; } /* $beaches = " ['Bondi Beach', -33.890542, 151.274856, 4], ['Coogee Beach', -33.923036, 151.259052, 5], ['Cronulla Beach', -34.028249, 151.157507, 3], ['Manly Beach', -33.80010128657071, 151.28747820854187, 2], ['Maroubra Beach', -33.950198, 151.259302, 1] ";*/ echo " $title "; include("head.html"); echo "
    "; echo "
    "; echo '
    '; echo "
    $catpath
    $tovary
    $pages
    "; echo " "; echo ' '; echo " "; } f_read(); ?>