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

Форум PHP

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

 

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

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

тема: Помогите с условием
 
 автор: Dizels   (29.01.2007 в 15:13)   письмо автору
 
 

Вот файл:

<?  
function subdir($id_parent$level)  
{  
        
$query "SELECT * FROM photocat WHERE photocat.hide = 'show' AND photocat.id_parent = '$id_parent' ORDER BY pos";  
        
$ctg mysql_query($query);  
        if (!
$ctgputerror("Ошибка при обращении к Фотогалерее");  
        
// Если в таблице catalog присутствует хотя бы одна  
        // группа фотографий - выводим их в таблице  
        
if(mysql_num_rows($ctg)>0)  
        {  
                if (
$id_parent == 0)  
                {  
                        
// Выводим заголовок таблицы групп фотографий  
                        
echo "<tr class='tableheadercat' height=35>  
                         <td align=center><p class=zagtable>Категория</td>  
                         <td width=100><p class=zagtable>Подкатегории</td>  
                         <td width=100><p class=zagtable>Файлы</td>  
                        </tr>"
;  
                }  

                while(
$cat mysql_fetch_array($ctg))  
                {  
                        
$stylemargin $level*20;  
                        echo 
"<tr>  
                               <td><p style='margin-left:"
.$stylemargin."px;'><a href=index.php?id_parent=".$cat['id_catalog']." style='color: #084E82;'>".$cat['name']."</a></td>";  

                         
$query2 "SELECT COUNT(id_photo) AS total  
                                   FROM photo  
                                   WHERE id_catalog = '"
.$cat['id_catalog']."' AND hide = 'show'";  

                         
$ctg2 mysql_query($query2);  
                         if (!
$ctg2puterror("Ошибка при обращении к Фотогалерее");  

                         
$query3 "SELECT COUNT(id_parent) AS totalp  
                                   FROM photocat  
                                   WHERE id_parent = '"
.$cat['id_catalog']."' AND hide = 'show'";  

                         
$ctg3 mysql_query($query3);  
                         if (!
$ctg3puterror("Ошибка при обращении к Фотогалерее");  

                         if(
mysql_num_rows($ctg2)>&& mysql_num_rows($ctg3)>0)  
                         {  
                                 
$cat2 mysql_fetch_array($ctg2);  
                                 
$cat3 mysql_fetch_array($ctg3);  

                                 
// Выводим список каталогов  
                                 
echo "<td align=center><p>".($cat3['totalp'])."</td>  
                                       <td align=center><p>"
.$cat2['total']."</td>  
                                      </tr>"
;  
                         }  
                         
subdir($cat['id_catalog'],$level+1);  
                }  
        }  
        return;  
}  
?>


Как мне составить условие, чтобы выводились только основные каталоги, а подкаталоги не показывались и выводились только тогда, когда кликнуть по основному каталогу.

   
 
 автор: Dizels   (29.01.2007 в 16:17)   письмо автору
 
   для: Dizels   (29.01.2007 в 15:13)
 

Ребят, подскажите, пожалуйста

   
 
 автор: Dizels   (29.01.2007 в 23:52)   письмо автору
 
   для: Dizels   (29.01.2007 в 16:17)
 

Люди, не проходите мимо:)

   
 
 автор: cheops   (30.01.2007 в 00:57)   письмо автору
 
   для: Dizels   (29.01.2007 в 15:13)
 

Сейчас рекурсивно выводится всё? Какая глубина вложения 2 или может быть больше?

   
 
 автор: Dizels   (30.01.2007 в 01:25)   письмо автору
 
   для: cheops   (30.01.2007 в 00:57)
 

глубина вложения 2. Насчет рекурсивно - сказать поправде я не знаю что это такое:)
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=25344
вот тема, в которой я так же задавал вопрос и откуда появился выше представленный скрипт, надеюсь это поможет:)

   
 
 автор: cheops   (30.01.2007 в 02:17)   письмо автору
 
   для: Dizels   (30.01.2007 в 01:25)
 

Рекурсивной функция называется когда она сама себя вызывает. Поправьте строку
<?php
 subdir
($cat['id_catalog'],$level+1);   
?>

следующим образом
<?php
  
if($cat['id_catalog'] == $_GET['id_parent']) subdir($cat['id_catalog'],$level+1);   
?>

   
 
 автор: Dizels   (30.01.2007 в 11:29)   письмо автору
 
   для: cheops   (30.01.2007 в 02:17)
 

Огромное спасибо, как всегда именно на этом форуме мне помогли.

   
Rambler's Top100
вверх

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