Code: Привет ачатовцам. Есть вопрос: Вот мы имеем 2 таблицы.(mysql) 1 таблицы с категориямя id | id_parent | name ---------------------------- 1 | 0 | Программы ---------------------------- 2 | 1 | Для телефонов ---------------------------- 3 | 1 | Для компа ---------------------------- 4 | 3 | Для брута ------------------------------- Категории выведутся как: -- Программы -- Для телефонов -- Для компа -- Для брута И есть таблица с файлами: id | cat_id | name ---------------------------- 1 | 3 | Файл 1 ---------------------------- 2 | 3 | Файл 2 ---------------------------- 3 | 3 | Файл 3 ---------------------------- 4 | 3 | Файл 4 ------------------------------- Как сделать на php подсчёт чтобы считались файлы в категориях по примеру: -- Программы (4) -- Для телефонов (0) -- Для компа (4) -- Для брута (4) Кто что подскажет? Чем поможет? :)
SELECT count(id) FROM table || $hand = mysql_query("SELECT id FROM table"); echo mysql_num_rows($hand);
И как так быдет выводить количеств файлов из под категорий в основную? Тоесть если глубоко в какой то подкатегории лежало 4 файла нппример, то в основной категории отображалось бы что всего 4 файла Code: -- Программы (4) -- Для телефонов (0) -- Для компа (4) -- Для брута (4) [Файл 1] [Файл 2] [Файл 3] [Файл 4]
Ну ппц. Ты не наисал название таблиц -> назовем 1 таблицу с категориями - `categs`, 2 - `files` PHP: ... $handle = mysql_query("SELECT id,title FROM categs"); while(list($id,$title) = mysql_fetch_row($handle)) { echo "Категория \"$title\" - файлов (".mysql_num_rows(mysql_query("SELECT id FROM files WHERE cat_id = $id")).") <br />"; } ... Самый простой вариант
А как сделать посчёт если выводятся вот так Code: Программы [id = 1] -> Для смартов [parent_id = 1] Для Компа [parent_id = 1] Тут считает только когда просматриваеш категорию для которой предназначен файл, а мне нужно чтобы считались файлы в подкатегориях и выводилось колличество в основную.
Code: <?php $category = intval($_GET['category']); if ($category != 0) { $tpl->load_tpl('downloads.tpl'); $tpl->set_block("'\\[category\\](.*?)\\[/category\\]'si", ""); $tpl->set('[cat_navigation]', ''); $tpl->set('[/cat_navigation]', ''); $tpl->set('{navigation}', name_cat($category)); $tpl->compile('content'); $tpl->clear(); } if ($category) { $where_cat = "WHERE id_parent = '$category'"; $where_files = "WHERE category = '$category'"; } else { $where_cat = "WHERE id_parent = 0"; $where_files = "WHERE category = 0"; } $downloads_files_sql = $db->query("SELECT * FROM downloads_files $where_files"); $downloads_cat_sql = $db->query("SELECT * FROM downloads_category $where_cat ORDER BY position DESC"); $i = 0; while ($row = $db->get_row($downloads_cat_sql)) { $i ++; $tpl->load_tpl('downloads.tpl'); $tpl->set_block("'\\[cat_navigation\\](.*?)\\[/cat_navigation\\]'si", ""); $tpl->set('[category]', ''); $tpl->set('[/category]', ''); $coun = $db->super_query("SELECT count(*) as count FROM downloads_files WHERE category = '{$row['id']}'"); $tpl->set('[cat_link]', '<a href="' . $PHP_SELF . '?do=downloads&category=' . $row['id'] . '">'); $tpl->set('[/cat_link]', '</a>'); $tpl->set('{count}', $coun['count']); $tpl->set('{category}', check_full($row['name'])); $tpl->compile('content'); $tpl->clear(); } $b = 0; while ($row = $db->get_row($downloads_files_sql)) { $buffer .= $row['title']; $buffer .= '<br>'; $b++; } if ($i == 0 and $b == 0) { $buffer .= 'В данной категории ничего нет.<br>'; } $tpl->copy_tpl = $buffer . '<br>'; $tpl->compile('content'); $tpl->clear(); ?>
SELECT COUNT(*) FROM files WHERE cat_id = АйДи категории, которую рисуешь в данный момент а еще лучше и красивее, если названия категорий выбираются из базы, сделать JOIN и выбрать из таблицы файлов количество файлов, сгруппированных по айдишнику категорий