|
|
|
| Добрый день!
Есть БД, в которой хранятся каталоги и подкаталоги, глубина вложений не ограничено
CREATE TABLE IF NOT EXISTS `table` (
`id` int(9) NOT NULL auto_increment,
`names` text NOT NULL,
`id_p` int(9) NOT NULL
PRIMARY KEY (`id`)
) ;
--
-- Дамп данных таблицы `table`
--
INSERT INTO `table` (`id`, `names`, `id_p`) VALUES
(1, 'Андроид', 0),
(2, 'Windows-M', 0),
(3, 'Symbian', 0),
(4, 'Игры', 1),
(5, 'Программы', 1),
(6, '240*320', 4);
|
Использую функцию для вывода дерева:
<?php
$res = mysql_query("SELECT `id`,`id_p`,`names` FROM `table` ORDER BY `id`, `id_p` ASC");
while ($line = mysql_fetch_assoc($res))
{
$tags[ (int) $line['id_p'] ][] = array( (int) $line['id'], $line['names']);
}
function derevo($parent=0)
{
global $tags;
echo '<ul>';
for ($i=0;$i<=count($tags[$parent])-1;$i++)
{
echo '<li><a href="index.php?id='.$tags[$parent][$i][0].'">'.$tags[$parent][$i][1].'</a>';
if (isset($tags[ $tags[$parent][$i][0] ]))
{
derevo($tags[$parent][$i][0]);
}
echo '</li>';
}
echo '</ul>';
}
return derevo();
?>
|
Как сделать, чтобы родительский каталог был выделен жирным, а все подкаталоги были ссылками?????? | |
|
|
|
|
|
|
|
для: selma
(10.11.2011 в 04:12)
| | ну... примерно так:
<?php
$res = mysql_query("SELECT `id`,`id_p`,`names` FROM `table` ORDER BY `id`, `id_p` ASC");
while ($line = mysql_fetch_assoc($res))
{
$tags[ (int) $line['id_p'] ][] = array( (int) $line['id'], $line['names']);
}
function derevo($parent=0)
{
global $tags;
echo '<ul>';
for ($i=0;$i<=count($tags[$parent])-1;$i++)
{
if ($parent==0) {
$b1 = "<b>";
$b2 = "</b>";
}
echo '<li><a href="index.php?id='.$tags[$parent][$i][0].'">'.$b1.$tags[$parent][$i][1].$b1.'</a>';
if (isset($tags[ $tags[$parent][$i][0] ]))
{
derevo($tags[$parent][$i][0]);
}
echo '</li>';
}
echo '</ul>';
}
return derevo();
?>
|
| |
|
|
|
|
|
|
|
для: Ильдар
(10.11.2011 в 10:41)
| | нет. так работать не будет, ваш код выведет все ссылки жирными, а нужно чтобы жирными были только каталоги с родительским id (id_p) = 0 | |
|
|
|
|
|
|
|
для: selma
(10.11.2011 в 12:20)
| | Никто не знает? | |
|
|
|
|
|
|
|
для: selma
(10.11.2011 в 12:20)
| | Попробуйте фрагмент
if ($parent==0) {
$b1 = "<b>";
$b2 = "</b>";
}
| заменить на
$b1 = $b2 = "";
if ($parent==0) {
$b1 = "<b>";
$b2 = "</b>";
}
|
| |
|
|
|
|
|
|
|
для: cheops
(11.11.2011 в 10:01)
| | Хеопс, огромное мерси:) мысль уловила
<?
$b1 = $b2 = NULL;
if ($parent>0) {
$b1 = "<a href='index.php?id=".$tags[$parent][$i][0]."'>";
$b2 = "</a>";
}
echo '<li>'.$b1.$tags[$parent][$i][1].$b2;
?>
|
| |
|
|
|