Цель: технически каталог должен выглядеть как у яши: если кто не знает адрес: http://www.yaca.yandex.ru/ Вобщем есть у меня таблица в мускуле с названиями главнфх категорий, и субкатегориями - т.е. это разные таблицы - первая называется maincat, вторая - subcat. Задача каталога на лицевой стороне, выстроить как у яши и многих других списки в виде столбиков: Сначала главное название каталога, а потом внизу его подкатегории, в виде трёх столбцов, скажем. Дык вот. Нашёл одну красивую констукцию: PHP: $cols = 3; echo "<table align='center' widht='100%'>"; do { echo '<tr>'; for ($i=0; $i<$cols; $i++) { echo '<td>' . (($data = mysql_fetch_assoc($Result)) ? $data['subcat'] : '-') . '</td>'; } echo '</tr>'; } while ($data); echo '</table>'; получилось так, что код красиво формирует подкатегории на три столбца. Это замечательно. Но! Как его модифицировать, чтобы он делал столбики с названием главной категории и его подкатегорий??!! Под вечер не рублю уже... на какие только извращения не приходилось идти.... Дайте совет, увжаемые профи! Заранее благодарен!
да, структура таблиц такая: maincat: id (порядковый номер главной категории - выставляется автоматически) name (имя главной категории) subcat: id (порядковый номер субкатегории - выставляется автоматически) name (имя субкатегории) num (где этот номер совпадает с номером id maincat, чтобы "привязать" подкатегорию к главной категории) чтобы можно было просто вытягивать подкатегории по команде select * from subcat, where num=$id (где номер субкатегории равен айди какой-то главной категории) вот.
Mark32, в вашем случае - задача в хранении древовидной структуре. Не нужно создавать множество таблиц в этом этом случае (а если вложенность будет 10), поищите алгоритмы хранения деревьев, их множество. Разработчики mysql реккомедную хранить деревья следующим образом http://dev.mysql.com/tech-resources/art ... -data.html
Спасибо за совет! Действительно так лучше. Начал немного уже разбираться на основе _http://www.cubes.com.ua/documentation/index.php?page=articles/phptrees У меня вопрос всё равно остался. Вот выдача категорий (и главных и родительских): PHP: $Query = "SELECT * from $TableName ORDER BY cleft ASC"; $Result = mysql_db_query ($DBName, $Query, $Link); while ($row = mysql_fetch_array ($Result)) { echo str_repeat(" ",6*$row['clevel']).$row['title']."<br>"; } А как сделать их по столбикам? У меняч в сущности только три категории: 1 - Самая главная (она одна, назвается "каталог") 2 - главный родительский 3 - подкатегории главных родительских (их много), так вот как сделать их по столбикам (<td></td>) как в яше?
Понятно что ядро вопроса уже изъезжено. пролазил уже. нашёл много полезного, но что-то похожее под мой случай нет.
вот так суёт данные в столбцы, но не "категорально", т.е. в разнобой, а нужно чтобы вверху каждого столбца была главная категория, а под ней уже подкатегории... PHP: $Query = "SELECT * from $TableName ORDER BY cleft ASC"; $Result = mysql_db_query ($DBName, $Query, $Link); $cols = 3; echo "<table align='center' widht='100%'>"; do { echo '<tr>'; for ($i=0; $i<$cols; $i++) { echo '<td>' . (($data = mysql_fetch_assoc($Result)) ? $data['title'] : '-') . '</td>'; } echo '</tr>'; } while ($data); echo '</table>';