![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
![]() |
#1 |
Senior Member
|
![]()
Насколько я понимаю для подсчета нужно использовать count(*). Т.е. сгруппировать по полю category и потом посчитать по нему же. Как-то так.
|
![]() |
![]() |
![]() |
#2 |
Senior Member
|
![]()
Отлично..., теперь у нас есть во это:
10 = CONTENT 10 { table = tt_news # таблица с записями новостей select { pidInList = 1 # место где содержатся записи selectFields = count(*) # выделить все записи в таблице "tt_news" where = tt_news.deleted = 0 AND tt_news.hidden = 0 # учитывать все записи у кого 0 (то есть видна и не удалена), а если 1 и другое, то не учитывать. andWhere { dataWrap = tt_news.category = {field:uid} # текущая категория ...??? } groupBy = tt_news.category # группировать по категории ...правильно ли? } } Первое, нужно же определить текущую категорию и наверное составить условия ..., если совпадаю текущая категория с выделенной (найденной) в таблицей, то посчитать и показать возле текущей категории..., правильно ли я мыслю? Последний раз редактировалось thebat; 17.05.2011 в 10:05 |
![]() |
![]() |
![]() |
#3 |
Senior Member
|
![]()
Мне так кажется что не нужно каждый раз указывать полное имя таблица.поле, т.е. получается что-то типа:
Код:
10 = CONTENT 10 { table = tt_news select { pidInList = 1 selectFields = count (*) category where = NOT deleted AND NOT hidden groupBy = category ... } } |
![]() |
![]() |
![]() |
#4 |
Senior Member
|
![]()
Нет, мы не там копаем.
Я обследовал таблицу "tt_new" и заметил, что поле "category" не содержит "uid" категории, выходит, что мы не можем таким образом отфильтровать записи определенной категории и вывести их количество. Это означает, что нам надо взяться за таблицу "tt_news_cat" |
![]() |
![]() |
![]() |
#5 |
Senior Member
|
![]()
Посмотрел базу, насколько понял все отношения между новостями и категориями описываются в tt_news_cat_mm - там расписано к каким категориям имеет отношение новость: если к нескольким, то там несколько записей для одной новости.
|
![]() |
![]() |
![]() |
#6 |
Senior Member
|
![]()
Мы уже на шаг подошли ближе к решению.
Теперь нужно определить, как использовать полученную информацию? Есть вопрос, где или в какой таблице делать выборку... tt_new или tt_news_cat_mm Я выяснил, что связи с записями tt_news прописаны в поле uid_local таблицы tt_news_cat_mm. tt_news_cat_mm связан сего полем uid_foreign и в поле UID в таблиці tt_news_cat. Схематично: tt_news.uid <> uid_local.tt_news_cat_mm - tt_news_cat_mm.uid_foreign <> uid.tt_news_cat Возможно я ошибся ..., может кто поправит если это не так. Последний раз редактировалось thebat; 18.05.2011 в 01:28 |
![]() |
![]() |
![]() |
#7 |
Senior Member
|
![]()
Наверное логично будет использовать tt_news_cat_mm потому что любая из новостей может быть в нескольких категориях. То есть группируем по категории и подсчитываем количество новостей в данной категории учитывая при этом состояние новости в tt_news.
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод списка категорий для новостей | gvv100 | Общие вопросы | 4 | 06.05.2010 16:18 |
Постраничный вывод записей | андрей | Общие вопросы | 3 | 31.05.2005 01:37 |