Как можно оптимизировать код?..
Есть такая ситуация:
# сначала немного лирики...
echo "<a href=\\"$PHP_SELF?id=8\\">ссылка</a>
";
$spr = " :: ";
if (!isset($id)||$id<=0)
{ print ("<font style=$style>Главная</font>"); } else {
print ("<a href=$PHP_SELF>Главная</a>");
# а теперь серьезно...
# Суть этого кода заключается в том, что выбираем строку в зависимости от id
# и в цикле в каждый массив фигачим значения (id, name)
while ($id>0)
{
$tree_query = mysql_query("SELECT id, parentid, name FROM table_name WHERE id=$id");
$tree = mysql_fetch_array($tree_query);
$a[] = $tree["id"];
$b[] = $tree["name"];
$id = $tree["parentid"];
}
# разворачиваем массивы для правильного построения ветки навигации
# если этого не сделать, разделы первого уровня будут последними...
$a = array_reverse($a);
$b = array_reverse($b);
# Цикл вывода данных (массив принципиально не важен, т.к. размеры одинаковы)
for ($i=0; $i<count($a); $i++)
{
if ($i==(count($a)-1)) { echo "$spr<font style=$style>".$b[$i]."</font>"; }
else { echo "$spr<a href=$PHP_SELF?id=".$a[$i].">".$b[$i]."</a>"; }
}
}
# The End.
Код этот у меня нормально работает, но мне кажется, что можно это все сделать с многомерным массивом,
тем самым упростить код... А то как-то кривовато получается: под каждую переменную создавать массив.
Пробовал с двумерным... не получается. А если переменных не 2,а 22...
Подскажите, как еще можно урезать код.