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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Лестничный вывод
 
 автор: alexf13   (19.11.2007 в 18:51)   письмо автору
 
 


CREATE TABLE `this` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `id_tema` int(10) NOT NULL default '0',
  `cont` longtext NOT NULL,
  PRIMARY KEY  (`id`)


INSERT INTO `this` VALUES (1, 0, 'Тема 1');
INSERT INTO `this` VALUES (2, 0, 'Тема 2');
INSERT INTO `this` VALUES (3, 0, 'Тема 3');
INSERT INTO `this` VALUES (4, 1, 'Подтема 4 темы 1');
INSERT INTO `this` VALUES (5, 3, 'Подтема 5 темы 3');
INSERT INTO `this` VALUES (6, 5, 'подтема 6 подтемы 5 темы 3');


Вывод:

Тема 1
   ->Подтема 4 темы 1
Тема 2
Тема 3
   ->Подтема 5 темы 3
         -->подтема 6 подтемы 5 темы 3



Как осуществить вышеданный вывод чтобы не сильно грузить БД и не строчить килограммы кода? :)

   
 
 автор: provodnik   (19.11.2007 в 19:46)   письмо автору
 
   для: alexf13   (19.11.2007 в 18:51)
 

Код не проверял:

<?
function subcategory($id$sub)
{
    
$categories mysql_query("SELECT * FROM this WHERE id_tema = $id");
    while(
$category mysql_fetch_array($categories)) 
    {    
        for(
$i 0$i $sub$i++) echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
        echo 
$category['cont'];
        
subcategory($category['id'], $sub+1);
    }
}

$categories mysql_query("SELECT * FROM this WHERE id_tema = 0");
while(
$category mysql_fetch_array($categories)) 
{
    
$sub 1;
    echo 
$category['cont'];
    
subcategory($category['id'], $sub);
}
?>

   
 
 автор: alexf13   (19.11.2007 в 22:52)   письмо автору
 
   для: provodnik   (19.11.2007 в 19:46)
 

Спасибо вроде все работает....

но появилась новая проблема нужно зделать подобный вывод из:


CREATE TABLE `this` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `id_teme` int(10) NOT NULL default '0',
  `id_user` int(10) NOT NULL default '0',
  `id_pteme` int(10) NOT NULL default '0',
  `cont` longtext NOT NULL,
  `date` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`id`)
);


INSERT INTO `blogs_coment` VALUES (1, 54, 2, 0, 'Текст сообщения', '0000-00-00 00:00:00');
INSERT INTO `blogs_coment` VALUES (2, 54, 2, 0, 'Текст сообщения', '0000-00-00 00:00:00');
INSERT INTO `blogs_coment` VALUES (3, 54, 2, 1, 'Текст сообщения', '0000-00-00 00:00:00');
INSERT INTO `blogs_coment` VALUES (4, 54, 2, 1, 'Текст сообщения', '0000-00-00 00:00:00');
INSERT INTO `blogs_coment` VALUES (5, 54, 2, 3 'Текст сообщения', '0000-00-00 00:00:00');


Помогите пожалуйсто!

   
 
 автор: provodnik   (20.11.2007 в 13:07)   письмо автору
 
   для: alexf13   (19.11.2007 в 22:52)
 

Какая связь, я что то не вразумлю?
Пример напишите...

   
Rambler's Top100
вверх

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