Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как вывести значения сколько новостей и в какие категории публиковал пользователь в его профиле?

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


     dle, вывод, хак, новости, профиль    Общие вопросы по PHP, Хаки    1083

вопрос
Как вывести значения сколько новостей и в какие категории публиковал пользователь в его профиле?
К примеру на странице пользователя такие значения:
- Категории
--Новости : 4 публикации
--Фильмы : 9 публикаций
--Игры : 0 публикаций
И так далее
Заранее буду очень благодарен!

Ответа пока нет


4 комментария

dj-avtosh
PHP-developer

dj-avtosh - -

А что будет, если новость относится к нескольким категориям?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

pahuchiy
Юзер

pahuchiy - -

На обе категории прибавлялось по одному получается разумней)

dj-avtosh
PHP-developer

dj-avtosh - -


Надо тестировать:



SELECT category_id, autor, COUNT(*) as news_count FROM (

SELECT 

id,

autor,

SUBSTRING_INDEX(SUBSTRING_INDEX(t.category, ',', n.n), ',', -1) category_id

  FROM dle_post t CROSS JOIN 
  (
   SELECT a.N + b.N * 10 + 1 n
     FROM 
    (
    SELECT 0 AS N 
	UNION ALL SELECT 1 
	UNION ALL SELECT 2 
	UNION ALL SELECT 3 
	UNION ALL SELECT 4 
	UNION ALL SELECT 5 
	UNION ALL SELECT 6 
	UNION ALL SELECT 7 
	UNION ALL SELECT 8 
	UNION ALL SELECT 9
	) a,
    (
    SELECT 0 AS N 
	UNION ALL SELECT 1 
	UNION ALL SELECT 2 
	UNION ALL SELECT 3 
	UNION ALL SELECT 4 
	UNION ALL SELECT 5 
	UNION ALL SELECT 6 
	UNION ALL SELECT 7 
	UNION ALL SELECT 8 
	UNION ALL SELECT 9
	) b
    ORDER BY n 
   ) n

 WHERE n.n <= 1 + (LENGTH(t.category) - LENGTH(REPLACE(t.category, ',', ''))) AND  autor = 'admin'

 ORDER BY id, category_id

) post_autor_cats

GROUP BY category_id


По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

dj-avtosh
PHP-developer

dj-avtosh - -

Соответственно я не верю, что это будет быстро работать при 10к новостей. Поэтому можно сделать перебор на php.

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Похожие вопросы

наверх