ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Категории и подсчёт файлов в них
  #1  
Старый 01.02.2010, 16:20
Аватар для Wakko
Wakko
Познающий
Регистрация: 01.06.2009
Сообщений: 38
Провел на форуме:
80872

Репутация: 2
Отправить сообщение для Wakko с помощью ICQ
По умолчанию Категории и подсчёт файлов в них

Код:
Привет ачатовцам. Есть вопрос:

Вот мы имеем 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)

Кто что подскажет? Чем поможет? :)
 
Ответить с цитированием

  #2  
Старый 01.02.2010, 16:38
Аватар для LStr1ke
LStr1ke
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме:
1455812

Репутация: 150
По умолчанию

SELECT count(id) FROM table
||
$hand = mysql_query("SELECT id FROM table");
echo mysql_num_rows($hand);
 
Ответить с цитированием

  #3  
Старый 01.02.2010, 16:45
Аватар для Wakko
Wakko
Познающий
Регистрация: 01.06.2009
Сообщений: 38
Провел на форуме:
80872

Репутация: 2
Отправить сообщение для Wakko с помощью ICQ
По умолчанию

И как так быдет выводить количеств файлов из под категорий в основную?

Тоесть если глубоко в какой то подкатегории лежало 4 файла нппример, то в основной категории отображалось бы что всего 4 файла

Код:
      -- Программы (4)
          -- Для телефонов (0)
          -- Для компа (4)
             -- Для брута (4)
                     [Файл 1]
                     [Файл 2]
                     [Файл 3]
                     [Файл 4]

Последний раз редактировалось Wakko; 01.02.2010 в 16:49..
 
Ответить с цитированием

  #4  
Старый 01.02.2010, 16:53
Аватар для LStr1ke
LStr1ke
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме:
1455812

Репутация: 150
По умолчанию

Ну ппц.
Ты не наисал название таблиц -> назовем 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 />";
}
... 
Самый простой вариант
 
Ответить с цитированием

  #5  
Старый 01.02.2010, 17:10
Аватар для Wakko
Wakko
Познающий
Регистрация: 01.06.2009
Сообщений: 38
Провел на форуме:
80872

Репутация: 2
Отправить сообщение для Wakko с помощью ICQ
По умолчанию

А как сделать посчёт если выводятся вот так
Код:
    Программы [id = 1] ->
                                      Для смартов [parent_id = 1]
                                      Для Компа [parent_id = 1]
Тут считает только когда просматриваеш категорию для которой предназначен файл, а мне нужно чтобы считались файлы в подкатегориях и выводилось колличество в основную.
 
Ответить с цитированием

  #6  
Старый 01.02.2010, 17:13
Аватар для Wakko
Wakko
Познающий
Регистрация: 01.06.2009
Сообщений: 38
Провел на форуме:
80872

Репутация: 2
Отправить сообщение для Wakko с помощью ICQ
По умолчанию

Код:
<?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();

?>
 
Ответить с цитированием

  #7  
Старый 01.02.2010, 17:58
Аватар для deedoc
deedoc
Новичок
Регистрация: 12.12.2007
Сообщений: 4
Провел на форуме:
8986

Репутация: 0
По умолчанию

SELECT COUNT(*) FROM files WHERE cat_id = АйДи категории, которую рисуешь в данный момент

а еще лучше и красивее, если названия категорий выбираются из базы, сделать JOIN и выбрать из таблицы файлов количество файлов, сгруппированных по айдишнику категорий

Последний раз редактировалось deedoc; 01.02.2010 в 18:38..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Google Docs предоставляет место для хранения файлов Fata1ex Мировые новости 19 14.01.2010 19:55
Записки охотника (за шеллами). Дополнение к статье про читалку файлов. 1ten0.0net1 Авторские статьи 8 25.06.2007 22:21
О взломе лог файлов Frok Чужие Статьи 5 07.03.2006 23:02
Заключение эксперта .PurGeN. Чужие Статьи 2 02.08.2005 04:03



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ