Реализация ToDo Списка на php

113
19 марта 2019, 01:40

В личном кабинете пользователь может создать список своих дел. Реализация может показаться вам глупой, но мне интересно ваше мнение по поводу того, есть ли смысл в такой реализации и мне кажется, что такая реализация более производительна. Вместо того, чтобы таск каждого пользователя добавлять как ряд в БД, при входе пользователя в личный кабинет я делаю запись в БД, а именно такие колонки: "id", "owner", "task". В колонке "owner" - логин пользователя, в колонке "task' будут находиться все задания пользователя. Когда пользователь добавляет таск, то в его колонке "task" добавляется это задание, чтобы разделять задания я создал некий разделитель который выглядит как-то вот так ;-; то есть колонка "task" у каждого пользователя выглядит вот так: "Задание1;-;Задание2;-;Задание3;-;Задание4" 1-й вопрос: Это полнейший бред, или такая реализация имеет право на жизнь? 2-й вопрос: Если это не полнейший бред и я хочу сделать возможность фильтровать задания например по дате или по алфавиту, стоит ли мне добавлять новою колонку в таблицу с названием например taskDate и taskAlphabet? Не судите строго, так как недавно занимаюсь с Базами Данных. p.s. я гуглил, но находил только реализацию ToDo списка для одного пользователя.

Answer 1

Если прям уж хочется хранить список заданий прямо в строке с человеком - делай это в json формате хотя бы.

Пример:

[{"task_name":"Задание 1","done":0,"task_date":1540919044},{"task_name":"Задание 2","done":1,"task_date":1540919046}]

А вообще по нормальному будет завести отдельную таблицу с полями: уникальный id для каждой задачи, id пользователя создавшего задачу, название, статус, дату и все остальное, что нужно. При такой реализации еще будет удобнее делать выборку по алфавиту и дате прямо в SQL запросе.

READ ALSO
Разделить количество блоков на два

Разделить количество блоков на два

УвЗнатоки помогите с решением данной задачи

145
Диапазон даты mysql

Диапазон даты mysql

SELECT id,name,sex,goodsname,address FROM first_table where price between 313 and 3131 and count between 31 and 313 and deliverydate between 2018-02-01 00:00:00 AND 2019-01-01 00:03:00 ORDER BY count ASC Вот здесь выдает ошибку, что...

126
Относительные ссылки css

Относительные ссылки css

Есть сайт siteru на локальном сервере apache и есть файл page

153
Hook not working on Category page in Prestashop

Hook not working on Category page in Prestashop

Я работаю над модулем для Prestashop 17, проблема связана с хуком

112