Эта тема на forum.dklab.ru


Anonymous: Передовать массив разделов, из БД или файла подключать, что лутьше?
Вопрос заключается в следующем, как правильно передавать массив для разделов, всего два уровня, раздел и подраздел.

есть у меня два варианта

1. Вариант

Из админке заранее формировать отдельный cat_array.php файл в котором будет хранится массив всех разделов


<?php

$tree_org = array (

array(
'id' => '1',
'name' => 'Ценные бумаги',
'parent' => '0'
), array(
'id' => '17',
'name' => 'Строительное',
'parent' => '1'
), array(
'id' => '20',
'name' => 'Тара и упаковка',
'parent' => '1'
),
...
);
?>


И каждый раз подключать этот файл с массивом
include('cat_array.php');


2. Второй вариант, не использовать файл, а каждый раз вытаскивать из БД
примерно так:


$sql_result = $db->q("SELECT id, name, parent FROM cat ORDER BY parent asc");
while($row = $db->mysql_assoc($sql_result)){
$tree_cat[] = array ('id'=>''.$row['id'].'','parent'=>''.$row['parent'].'','name'=>''.$row['name'].'');
}


Какой из вариантов был бы правильный?

По сути если брать каждый раз из БД, это постоянно делать запросы, как бы не хотелось, и подключать файл с массивом тоже определенная нагрузка, но вот что из них быстрее будет я незнаю. Скажите, с профессиональной точки зрения какой вариант был бы правильнее или может есть другой еще лутше?
Anonymous:
инклудить из определённой директории скрипт...
Anonymous:
это как? не совсем понятен вопрос?

ведь потом с массивом придется работать, выводить различные разделы, ввиде колонки с выподанием, или допустим на главной странице выводить ввиде блока, да и навигацию тоже делать нужно, да много чего ещё..
Anonymous:
а, просёк. тогда сохраняй в *.ini файле в php есть специальный функции для этого дела.

Эта тема на forum.dklab.ru