задача: есть календарь, в котором каждый день checkbox. выделив произвольное количество дней, надо их сохранить в базу mysql. календарь большой: значений может быть от 1 до "очень много" (несколько месяцев, диапазон, затрагивающий конец текущего года и начало следующего). в access у мелкомягких есть возможность указывать дату одним уникальным числом. потом я их через запятую писал в таблицу из двух столбцов - id и dates. а как быть в php и mysql прошу прощения, если было, но поиск не помог в виду скудности моего знания темы. так и не смог сформулировать правильный вопрос
Вставить несколько значений одной командой MySQL: Код (Text): INSERT INTO `table`(`a`, `b`) VALUES( (10, 'qwerty'), (20, 'asdfgh'), (30, 'zxcvbn') )
возможно я не точно объяснил. я могу записать id - дата сколько угодно раз. как записать id дата1 дата2 дата3 произвольное количество раз? даты через запятую? какой тип данных?
первый вариант не подходит, т.к. конечное количество дат не известно и для каждого id разное. как реализовать, что-то похожее на второй вариант?
тупой вариант: текстовое поле, где буквально будет строка со значениями через запятую. по науке: две таблицы: мастер-детализация. в мастере ты хранишь что-то что здесь не указал, например имя пользователя, я х.з. что у тебя есть. а поле id - первичный ключ, автоинкремент. в детализации у тебя даты. первичный ключ это пара (id, date) — здесь id берется из мастер таблицы. когда тебе понадобится буквально получить список дат в виде строки, можешь воспользоваться функцией group_concat(). либо для удобства отображения пойти на избыточность и, таки, держать строковое поле. Добавлено спустя 3 минуты 20 секунд: типа поля для даты может быть разный. сделай DATE и не парься.
Получится вторая таблица с видом Id Date 1 14.02.14 1 15.02.14 1 16.02.14 2 12.01.14 2 13.01.14 3 01.01.14 В первой таблице Id Name 1 Первый набор дат 2 Второй набор дат 3 Третий набор дат Я правильно понял?