Задать вопрос
@Daniels93

Как посчитать количество выполненых задач каждым работником в JS?

Делаю дальше приложение для тренировки навыков.

Есть список задач (todo list).
Есть список работников.
Работники видят свои задачи в веб-приложении и могут нажать кнопку задание получено, а потом - задание сделано (сменить статус так сказать).

Какой способ был бы наиболее оптимальный?
Я думал и пришёл к выводу, что нужно на каждое нажатие кнопки "задание сделано" заносить за юзером id каждого задания в таблицу SQL через PHP и потом с помощью команд MySQL считать сколько заданий было выполнено.
А потом полученные результаты отображать в виде графика chart.js
Однако вопрос собтсвенно как лучше всё это считать... Тоже через команды MySQL - считать столбцы с различными id заданиями определеного юзера. Или лучше всё это вообще через чистый JS делать? Как бы вы это сделали в общих словах?

Благодарю :)
Daniels
  • Вопрос задан
  • 299 просмотров
Подписаться 2 Средний Комментировать
Решения вопроса 1
Decadal
@Decadal
Тоже через команды MySQL

есть агрегирующая функция COUNT в sql.
select COUNT (1) from completed_tasks ct WHERE ct.user_id= "конкретный айди пользователя"
если нужно считать по каждому пользователю, то есть способы сгруппировать записи по идентификатору пользователя, например GROUP BY ct.user_id
Если вы уже взялись за базы данных и PHP то знайте, что задачи статистики, группировки и всего такого - почти всегда лежит на базах данных и серверных языках.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
KickeRocK
@KickeRocK
FrontFinish
А почему не хранить обьект задания сразу? с названием, статусом и сроком, к примеру, там еще много плюшек потом можно будет считать на этом основании.
При обращении просто смотреть у скольких заданий статус соответствующий
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:57
500 руб./в час
18 дек. 2024, в 11:54
2000 руб./за проект