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

Форум MySQL

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

 

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

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

тема: Перебор значений массива из базы данных
 
 автор: Diman   (11.10.2009 в 15:27)   письмо автору
 
 

В таблице есть такие значения

id_catalog | id_parent | name
8 | 0 | Рубрика
9 | 8 | подрубрика

Следуют прогнать эту таблицу по полю id_catalog так, чтобы если id_parent=id_catalog, значит считать подрубрикой, если нет - значит рубрика. Причем одинаковые значения не выводить. Никак не могу сосредоточится и правильно написать перебор такого массива. Помогите пожалуйста.

  Ответить  
 
 автор: Trianon   (11.10.2009 в 15:45)   письмо автору
 
   для: Diman   (11.10.2009 в 15:27)
 

может всё же SQL-запросом?

  Ответить  
 
 автор: Diman   (11.10.2009 в 16:01)   письмо автору
 
   для: Trianon   (11.10.2009 в 15:45)
 

интересно. Использую следующий запрос, но как сравнить тогда id_parent по всей базе с id_catalog в таблице newscat?

$query = "SELECT newscat.id_catalog AS id_catalog,
newscat.name AS name,
newscat.id_parent AS id_parent,
COUNT(news.id_news) AS total
FROM newscat, news
WHERE news.id_catalog = newscat.id_catalog AND
newscat.hide = 'show' AND news.hide = 'show'
GROUP BY newscat.id_catalog";

  Ответить  
 
 автор: Trianon   (11.10.2009 в 17:33)   письмо автору
 
   для: Diman   (11.10.2009 в 16:01)
 

SELECT (newscat.id_catalog = newscat.id_parent) AS is_rubric, COUNT(...) AS total
...
GROUP BY is_rubric

Или я Вас не понял.

  Ответить  
 
 автор: Diman   (11.10.2009 в 18:03)   письмо автору
 
   для: Trianon   (11.10.2009 в 17:33)
 

Хочется что-то подобное получить
Рубрика 1
Подрубрика 1
Подрубрика2 1
Рубрика 2
Подрубрика 2
Подрубрика2 2
подрубрика 2.2.1

Уже целый день не могу понять как сформировать такой код при выборе из БД


<? $query="SELECT id_parent AS id_parent, 
                                   name As name, 
                                   id_catalog As id_catalog
                 FROM newscat Where hide='show' GROUP BY id_catalog"
;         
                   
$ctg mysql_query($query);
                   if (!
$ctgerror("Ошибка при обращении к блоку статей");
                   
// Если в таблице catalog присутствует хотя бы одна
                   // рубрика  - выводим их в таблице
                 
if(mysql_num_rows($ctg)>0) {// Определение кол-ва строк в БД по query
                      
while($cat mysql_fetch_array($ctg))
                     {
                       
// Выводим список каталогов статей
                      
?>
                      <div>
                           <? if ($cat['id_parent']!=$cat['id_catalog']) { 
                    echo 
"<h2><a href=/index.php?link=37&id_parent=".$cat['id_catalog']."&act=2>"
                             
.$cat['name']."</a></h2>";
                             } 
                             else {      
                              echo 
"<h5><a href=/index.php?link=37&id_parent=".$cat['id_catalog']."&act=2>".$cat['name']."</a></h5>";
                             }
                            
?> 
                      </div>
                  <? }
                    }
                   
?>

  Ответить  
 
 автор: Diman   (12.10.2009 в 21:51)   письмо автору
52 Кб
 
   для: Diman   (11.10.2009 в 18:03)
 

Нашел в инете для применения древовидной структуры (файл прикреплен)
Но что за параметр $V не объясняется. Что это такое? Вроде то что хотел, но как на Ваш взгляд такое решение?

  Ответить  
Rambler's Top100
вверх

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