Welcome to PHPClub
13 сентября отмечаем День Программиста! Приходите! Ищем хорошего PHP-разработчика Москва,
офис ~90-150К
Боишься нашего дизайна?
поиск:
   
 Начало | Настройки | Расширенный поиск | РегистрацияПосмотреть новые сообщения 
  
PHP Club форумы: > PHP и базы данных > PHP & Mysql > Помогите с запросом
 

Автор
Тема ОТВЕТИТЬ
DiZe
Новичок

На форуме с: Nov 2006
Cообщений: 17
Город:
Помогите с запросом

есть таблица с деревом

id name parent
1 Имя_1 0
2 Имя_2 0
3 Имя_3 2
4 Имя_4 2
5 Имя_5 2
6 Имя_6 1
7 Имя_7 0

где parent это id предка
1) Надо получить результат для заданного предка (например для 0) в виде

id name (количество потомков)
1 Имя_1 1
2 Имя_2 3
7 Имя_7 0

В общем этого достаточно, но можно ли:
2) Узнать, является ли некая N айдишником для потомка?

Сделал пока в виде нескольких запросов, но хочется сделать всё это в виде одно.
Помогите, кому немного времени не жалко.

Спасибо!

Old Post 04.06.08 11:09 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
Dl
Активист PHPClub

На форуме с: Apr 2004
Cообщений: 341
Город: Voronezh, Russia

1) COUNT + LEFT JOIN
2) не совсем понятно

Old Post 04.06.08 11:19 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
DiZe
Новичок

На форуме с: Nov 2006
Cообщений: 17
Город:

ну например надо узнать, чьим потомком является запись с Id==5

А можно поподробнее про джойн?

Old Post 04.06.08 14:10 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
Dl
Активист PHPClub

На форуме с: Apr 2004
Cообщений: 341
Город: Voronezh, Russia

 
Автор оригинала: DiZe
ну например надо узнать, чьим потомком является запись с Id==5


Вероятно, по parent?

 
А можно поподробнее про джойн?


http://dev.mysql.com/doc/refman/5.1/en/join.html

Old Post 04.06.08 14:48 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
DiZe
Новичок

На форуме с: Nov 2006
Cообщений: 17
Город:

ясно по паренту, но вот как одним запросом, чтоб вырнули что-то типа

id name (количество потомков) (искомая величина?)
1 Имя_1 1 0
2 Имя_2 3 1
7 Имя_7 0 0

Old Post 04.06.08 15:23 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
Mr_Max
.

На форуме с: Jul 2002
Cообщений: 4383
Город: UA

DiZe
Скажи, пожалуйста, что сделал
__именно ты__
для решения своей задачи?

Какие запросы пробовал?

Что получалось?

Old Post 04.06.08 15:35 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
DiZe
Новичок

На форуме с: Nov 2006
Cообщений: 17
Город:

Select() - обёртка для mysql_select(), возвращает количество затронутых строк.

<?
    $cat 
5;
    
$count=Select("ID,Title FROM Table WHERE parent=1;");        
    for (
$i=0;$i<$count;$i++){    
        list(
$id,$title)=FetchRow();
        
$count2_activeChilds=Select("ID FROM Table WHERE parent=$id AND ID=$cat LIMIT 1;");
        
$count2=Select("ID,Title FROM Table WHERE parent=$id;");                    
            
    }
?>


Сейчас работает 3мя запросами, что довольно медленно. Можно ли как-то объединить в один?

Old Post 04.06.08 16:12 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
Mr_Max
.

На форуме с: Jul 2002
Cообщений: 4383
Город: UA

 
Сейчас работает 3мя запросами


Но что из того?

Тебе ответили в первом-же ответе.
Из твоего ответа я могу сделать вывод - что ты палец о палец не ударил, чтобы применить полученную подсказку на деле, а копипастишь сюда свой старый код.

Извини, но в данном форуме готовых ответов не дают.

Old Post 04.06.08 17:05 URL сообщения | инфо об авторе | жалоба | IP: Записан | редактировать | ОТВЕТИТЬ и ЦИТИРОВАТЬ
Время GMT. Текущее время 13:50. Подписаться на Тему | Версия для Печати
 

PHP Club форумы: > PHP и базы данных > PHP & Mysql > Помогите с запросом
 
Оценить:
 
 
 
 

 © 1997-2010 PHPClubTeam      

Powered by vBulletin Copyright © 2000-2010 Jelsoft Enterprises Limited.