Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Опять про вложенности категорий

Сообщения:  [1-5] 

 
 автор: Ruthless   (03.04.2009 в 08:52)   письмо автору
 
   для: Commander   (03.04.2009 в 05:59)
 

To: Commander

Огромное спасибо, то что надо :)

  Ответить  
 
 автор: Commander   (03.04.2009 в 05:59)   письмо автору
 
   для: Ruthless   (02.04.2009 в 17:53)
 

Я использую такой код:

//Показываем пользователю его текущее местоположение------------------------------------------------------------------------
        echo "<p><a href=index.php?id_catalog=0>Корневой каталог</a>";
        $id_current = $id_catalog;
        while ($id_current != 0){
            $query = "SELECT * FROM $tbl_prod_catalog WHERE id_catalog = $id_current";
            $res = mysql_query($query);
            if (! $res) throw new ExceptionMySQL(mysql_error(),$query,"Ошибка считывания каталогов.");
            $cat = mysql_fetch_array($res);
            $cat_name = $cat['name'];
            $addr = "-><a href=index.php?id_catalog=".$id_current.">".$cat_name."</a>".$addr;
            $id_current = $cat['id_parent'];
        }
        echo $addr."</p><p>";

  Ответить  
 
 автор: Ruthless   (02.04.2009 в 22:57)   письмо автору
 
   для: Trianon   (02.04.2009 в 18:22)
 

To: Trianon
Спасибо большое, работает. Вот только теперь не могу никак вывести эти данные в браузер в красивом виде :(

Как вывести вот так:

<a href='\'>Главная</a> > <a href='board.php?cat=ID категории из базы'>Авто/Мото</a> > <a href='board.php?cat=ID категории из базы'>Иномарки</a> > <a href='board.php?cat=ID категории из базы'>BMW</a> > <a href='board.php?cat=ID категории из базы'>Покупка</a> > <a href='board.php?cat=ID категории из базы'>525i</a>



Ума хватает только на это :(

print_r(get_path($id));

  Ответить  
 
 автор: Trianon   (02.04.2009 в 18:22)   письмо автору
 
   для: Ruthless   (02.04.2009 в 17:53)
 

functuin get_path($id)
{
    for(;;)
    {
        $sql = "SELECT  * FROM category WHERE id = $id";
        $res = mysql_query($sql); or die ("Error in $sql : ". mysql_error());
        
        if(($row = mysql_fetch_assoc($res)) == 0)
            break;
        $path[] = $row['name_cat'];
        $id = $row['id_parent'];
    }
    return array_reverse($path);
}

  Ответить  
 
 автор: Ruthless   (02.04.2009 в 17:53)   письмо автору
 
 

Господа, знаю что данная проблема тут обсуждалась уже не однократно, но почитав все вопросы и ответы, я так и не понял как же все таки реализовать следующее. Делаю доску объявлений и там соответсвенно есть вложенные категории, пример:

Главная
-Авто/Мото
--- Иномарки
------ BMW
--------- Покупка
------------ 525i
--------- Продажа
------ Opel
------ Peugeot

--- Отечественные
------ ВАЗ

Так вот как мне вывести цепочку углубления пользователя чтобы отображался полный путь?

Главная > Авто/Мото > Иномарки > BMW > Покупка > 525i
или
Главная > Авто/Мото > Отечественные > ВАЗ
При этом вложенность может быть разной как на 2 уровня так и больше до бесконечности.

Вот так не получается, а другое решение так и не приходит в голову

$menu="";
$rimehead = mysql_query("SELECT * from category WHERE id = '$cat'") or die(mysql_error());
$rowhead = mysql_fetch_array($rimehead);
$str_name="<a href=board.php?cat={$rowhead["id"]} class='sub'>{$rowhead["name_cat"]}</a>";
$shot_name="{$rowhead["name_cat"]}";


$rimehead2 = mysql_query("SELECT * from category WHERE id = '{$rowhead["id_parent"]}'") or die(mysql_error());
$rowhead2 = mysql_fetch_array($rimehead2);
$str_name2="<a href=board.php?cat={$rowhead2["id"]} class='sub'>{$rowhead2["name_cat"]}</a>";

$rimehead3 = mysql_query("SELECT * from category WHERE id = '{$rowhead2["id_parent"]}'") or die(mysql_error());
$rowhead3 = mysql_fetch_array($rimehead3);
$str_name3="<a href=board.php?cat={$rowhead3["id"]} class='sub'>{$rowhead3["name_cat"]}</a>";


if ($str_name3!="") $menu.="&nbsp;&#8594;&nbsp;$str_name3";
if ($str_name2!="") $menu.="&nbsp;&#8594;&nbsp;$str_name2";
if ($str_name!="") $menu.="&nbsp;&#8594;&nbsp;$str_name";

echo "&nbsp;<a href='/' class='sub' title='Главная'>Главная</a><span class='textsub'>";

echo "$strel $menu";

echo "</span>";

  Ответить  

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования