Всем привет ребят подскажите есть код Код (Text): if( !$row['category'] ) { $my_cat_links = "---"; } else { $cat_list = explode( ',', $row['category'] ); $my_cat_links = array (); if( count( $cat_list ) == 1 OR ($view_template == "rss" AND $config['rss_format'] == 2) ) { $my_cat_links = get_categories( $cat_list[0] ); } else { foreach( $cat_list as $element ) { $list = "<a href=\"" . $config['http_home_url'] . get_url( $element ) . "/\">{$cat_info[$element]['name']}</a>"; $parent_id = $cat_info[$element]['parentid']; while ( $parent_id ) { $my_cat_links[] = $cat_info[$parent_id]['name'] . ": " . $list; $parent_id = $cat_info[$parent_id]['parentid']; if( $parent_id ) { if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break; } } } $my_cat_links = implode( '<br />', $my_cat_links ); } } И код этот выводит категории вот так К примеру Жанр: Детский Жанр: Семейный Жанр: Аниме А подскажите как сделать вот так Жанр: Детский, Семейный, Аниме
Ваш код мало чего рассказывает, тут бы не помешала "предыстория". Если данные получаете из БД, то такие операции можно производить еще на уровне запроса, например, с помощью функции GROUP_CONCAT() и иже с ней. Если же исходные данные приходят в каком-то другом виде, то не плохо бы посмотреть на них "как есть".
Замечтательно... Значит данные не из базы, не из какого-нибудь файла или даже заранее подготовленного массива, а просто "с cms DLE"?
Данные с базы Я создал файл category.php в нем Код (Text): <?php if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" ); } include_once(ENGINE_DIR . '/data/cat.config.php'); function get_cat($id) { global $cat_info, $config, $prefixe, $PHP_SELF; if( !$id ) return; if( $config['allow_alt_url'] ) $list = $prefixe[$id] . "<a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\">{$cat_info[$id]['name']}</a>"; else $list = $prefixe[$id] . "<a href=\"$PHP_SELF?do=cat&category={$cat_info[$id]['alt_name']}\">{$cat_info[$id]['name']}</a>"; return $list; } ?> Потом я создал еще один файл cat.config.php в нем массив Код (Text): <?php $prefixe = array ( //** YEA R **// '2' => "<br><br><b>Год выпуска:</b> ", '3' => "<br><br><b>Год выпуска:</b> ", '4' => "<br><br><b>Год выпуска:</b> ", '5' => "<br><br><b>Год выпуска:</b> ", '6' => "<br><br><b>Год выпуска:</b> ", '7' => "<br><br><b>Год выпуска:</b> ", '8' => "<br><br><b>Год выпуска:</b> ", '9' => "<br><br><b>Год выпуска:</b> ", '10' => "<br><br><b>Год выпуска:</b> ", '11' => "<br><br><b>Год выпуска:</b> ", '12' => "<br><br><b>Год выпуска:</b> ", '13' => "<br><br><b>Год выпуска:</b> ", '14' => "<br><br><b>Год выпуска:</b> ", '15' => "<br><br><b>Год выпуска:</b> ", '16' => "<br><br><b>Год выпуска:</b> ", '17' => "<br><br><b>Год выпуска:</b> ", '18' => "<br><br><b>Год выпуска:</b> ", '19' => "<br><br><b>Год выпуска:</b> ", '20' => "<br><br><b>Год выпуска:</b> ", '21' => "<br><br><b>Год выпуска:</b> ", '22' => "<br><br><b>Год выпуска:</b> ", '23' => "<br><br><b>Год выпуска:</b> ", '24' => "<br><br><b>Год выпуска:</b> ", '25' => "<br><br><b>Год выпуска:</b> ", '26' => "<br><br><b>Год выпуска:</b> ", '27' => "<br><br><b>Год выпуска:</b> ", '28' => "<br><br><b>Год выпуска:</b> ", '29' => "<br><br><b>Год выпуска:</b> ", '30' => "<br><br><b>Год выпуска:</b> ", '31' => "<br><br><b>Год выпуска:</b> ", '32' => "<br><br><b>Год выпуска:</b> ", '33' => "<br><br><b>Год выпуска:</b> ", '34' => "<br><br><b>Год выпуска:</b> ", '35' => "<br><br><b>Год выпуска:</b> ", '36' => "<br><br><b>Год выпуска:</b> ", '37' => "<br><br><b>Год выпуска:</b> ", '38' => "<br><br><b>Год выпуска:</b> ", '39' => "<br><br><b>Год выпуска:</b> ", '40' => "<br><br><b>Год выпуска:</b> ", '41' => "<br><br><b>Год выпуска:</b> ", '42' => "<br><br><b>Год выпуска:</b> ", '43' => "<br><br><b>Год выпуска:</b> ", '44' => "<br><br><b>Год выпуска:</b> ", '45' => "<br><br><b>Год выпуска:</b> ", '46' => "<br><br><b>Год выпуска:</b> ", '47' => "<br><br><b>Год выпуска:</b> ", '48' => "<br><br><b>Год выпуска:</b> ", '49' => "<br><br><b>Год выпуска:</b> ", '50' => "<br><br><b>Год выпуска:</b> ", '51' => "<br><br><b>Год выпуска:</b> ", '52' => "<br><br><b>Год выпуска:</b> ", '53' => "<br><br><b>Год выпуска:</b> ", '54' => "<br><br><b>Год выпуска:</b> ", '55' => "<br><br><b>Год выпуска:</b> ", '56' => "<br><br><b>Год выпуска:</b> ", '57' => "<br><br><b>Год выпуска:</b> ", '58' => "<br><br><b>Год выпуска:</b> ", '59' => "<br><br><b>Год выпуска:</b> ", '60' => "<br><br><b>Год выпуска:</b> ", '61' => "<br><br><b>Год выпуска:</b> ", '62' => "<br><br><b>Год выпуска:</b> ", '63' => "<br><br><b>Год выпуска:</b> ", '64' => "<br><br><b>Год выпуска:</b> ", '65' => "<br><br><b>Год выпуска:</b> ", '66' => "<br><br><b>Год выпуска:</b> ", '67' => "<br><br><b>Год выпуска:</b> ", '68' => "<br><br><b>Год выпуска:</b> ", '69' => "<br><br><b>Год выпуска:</b> ", '70' => "<br><br><b>Год выпуска:</b> ", '71' => "<br><br><b>Год выпуска:</b> ", '72' => "<br><br><b>Год выпуска:</b> ", '73' => "<br><br><b>Год выпуска:</b> ", '74' => "<br><br><b>Год выпуска:</b> ", '75' => "<br><br><b>Год выпуска:</b> ", '76' => "<br><br><b>Год выпуска:</b> ", '77' => "<br><br><b>Год выпуска:</b> ", '78' => "<br><br><b>Год выпуска:</b> ", '79' => "<br><br><b>Год выпуска:</b> ", '80' => "<br><br><b>Год выпуска:</b> ", '81' => "<br><br><b>Год выпуска:</b> ", '82' => "<br><br><b>Год выпуска:</b> ", '83' => "<br><br><b>Год выпуска:</b> ", //** END-YEAR **// //** COUNTRY **// '85' => "<br><br><b>Страна:</b> ", '86' => "<br><br><b>Страна:</b> ", '87' => "<br><br><b>Страна:</b> ", '88' => "<br><br><b>Страна:</b> ", '89' => "<br><br><b>Страна:</b> ", '90' => "<br><br><b>Страна:</b> ", '91' => "<br><br><b>Страна:</b> ", '92' => "<br><br><b>Страна:</b> ", '93' => "<br><br><b>Страна:</b> ", '94' => "<br><br><b>Страна:</b> ", '95' => "<br><br><b>Страна:</b> ", '96' => "<br><br><b>Страна:</b> ", '97' => "<br><br><b>Страна:</b> ", '98' => "<br><br><b>Страна:</b> ", '99' => "<br><br><b>Страна:</b> ", '100' => "<br><br><b>Страна:</b> ", '101' => "<br><br><b>Страна:</b> ", '102' => "<br><br><b>Страна:</b> ", '103' => "<br><br><b>Страна:</b> ", '104' => "<br><br><b>Страна:</b> ", '105' => "<br><br><b>Страна:</b> ", '106' => "<br><br><b>Страна:</b> ", '107' => "<br><br><b>Страна:</b> ", '108' => "<br><br><b>Страна:</b> ", '109' => "<br><br><b>Страна:</b> ", '110' => "<br><br><b>Страна:</b> ", '111' => "<br><br><b>Страна:</b> ", '112' => "<br><br><b>Страна:</b> ", '113' => "<br><br><b>Страна:</b> ", '114' => "<br><br><b>Страна:</b> ", '115' => "<br><br><b>Страна:</b> ", '116' => "<br><br><b>Страна:</b> ", '117' => "<br><br><b>Страна:</b> ", '118' => "<br><br><b>Страна:</b> ", '119' => "<br><br><b>Страна:</b> ", '120' => "<br><br><b>Страна:</b> ", '121' => "<br><br><b>Страна:</b> ", '122' => "<br><br><b>Страна:</b> ", '123' => "<br><br><b>Страна:</b> ", '124' => "<br><br><b>Страна:</b> ", '125' => "<br><br><b>Страна:</b> ", '126' => "<br><br><b>Страна:</b> ", '127' => "<br><br><b>Страна:</b> ", '128' => "<br><br><b>Страна:</b> ", //** END-COUNTRY **// //** GENRE **// '130' => "<br><br><b>Жанр:</b> ", '131' => "<br><br><b>Жанр:</b> ", '132' => "<br><br><b>Жанр:</b> ", '133' => "<br><br><b>Жанр:</b> ", '134' => "<br><br><b>Жанр:</b> ", '135' => "<br><br><b>Жанр:</b> ", '136' => "<br><br><b>Жанр:</b> ", '137' => "<br><br><b>Жанр:</b> ", '138' => "<br><br><b>Жанр:</b> ", '139' => "<br><br><b>Жанр:</b> ", '140' => "<br><br><b>Жанр:</b> ", '141' => "<br><br><b>Жанр:</b> ", '142' => "<br><br><b>Жанр:</b> ", '143' => "<br><br><b>Жанр:</b> ", '144' => "<br><br><b>Жанр:</b> ", '145' => "<br><br><b>Жанр:</b> ", '146' => "<br><br><b>Жанр:</b> ", '147' => "<br><br><b>Жанр:</b> ", '148' => "<br><br><b>Жанр:</b> ", '149' => "<br><br><b>Жанр:</b> ", '150' => "<br><br><b>Жанр:</b> ", '151' => "<br><br><b>Жанр:</b> ", '152' => "<br><br><b>Жанр:</b> ", '153' => "<br><br><b>Жанр:</b> ", '154' => "<br><br><b>Жанр:</b> ", '155' => "<br><br><b>Жанр:</b> ", '156' => "<br><br><b>Жанр:</b> ", '157' => "<br><br><b>Жанр:</b> ", '158' => "<br><br><b>Жанр:</b> ", '159' => "<br><br><b>Жанр:</b> ", //** END-GENRE **// ); ?> а в файле функции где я хочу вывести все это я написал Код (Text): if( !$row['category'] ) { $my_cat_links = "---"; } else { $cat_list = explode( ',', $row['category'] ); $my_cat_links = array (); if( count( $cat_list ) == 1 OR ($view_template == "rss" AND $config['rss_format'] == 2) ) { $my_cat_links = get_categories( $cat_list[0] ); } else { foreach( $cat_list as $element ) { $list = "<a href=\"" . $config['http_home_url'] . get_url( $element ) . "/\">{$cat_info[$element]['name']}</a>"; $parent_id = $cat_info[$element]['parentid']; while ( $parent_id ) { $my_cat_links[] = $cat_info[$parent_id]['name'] . ": " . $list; $parent_id = $cat_info[$parent_id]['parentid']; if( $parent_id ) { if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break; } } } $my_cat_links = implode( '<br />', $my_cat_links ); } } Какую функцию выполняют эти файлы я сейчас расскажу 1. Я в админ панели создаю категорию и подкатегорию к примеру Год - Категория 2014 - Подкатегория Страна - Категория Россия - Подкатегория __________________________________________________________________ И этот скрипт мне выводит вот так Год: 2014 Страна: Россия Но когда я добавляю к примеру 2 страны: Россия и США Он мне выводит: Год: 2014 Страна: Россия Страна: США А мне надо если 2 или более категории то вот так Год: 2014 Страна: Россия, США
Не могу понять, зачем вам массив в "cat.config.php", если данные всё-таки из базы. Сделаю еще одну попытку и покажу на примере: есть таблица с названиями животных и вторая таблица - с их породами. Нужно вывести названия и через запятую все породы каждого животного. Пример смотрим тут (слева - структура, справа - запрос, внизу - результат). Надеюсь, что суть уловите.
Зачем вам этот жуткий массив $prefixe? Даже не разбираясь особо в коде, скажу, что так делать нельзя. А вдруг вы решите делать там не два, а три переноса строки? Править вручную 159 записей? Код (PHP): function prefixe($id) { $arr=array(83=> 'Год выпуска', 128 => "Страна", 159 => "Жанр"); foreach ($arr as $maxid => $text) if ($id <= $maxid) break; return "<br><br><b>$text:</b> "; }