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

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


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

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

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


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

dj-avtosh
PHP-developer

dj-avtosh - 12 февраля 2019 19:01 -

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

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

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

pahuchiy
Юзер

pahuchiy - 12 февраля 2019 19:22 -

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

dj-avtosh
PHP-developer

dj-avtosh - 12 февраля 2019 20:10 -


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



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 - 12 февраля 2019 20:20 -

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

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

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

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх