Ситуация такая. есть две простые таблицы klient и product. Хочу реализовать хранение массива из id и product в 'одном' поле новой таблицы в МySql. A также вывод вот в таком виде. Возможно ли это? Помогите пожалуйста, голова пухнет )))
Есть такое понятие, как "сериализация". Курите. Либо нативную сериализациюю PHP, либо в JSON. И храните все одной строкой. Обратный процесс - десериализация. Код (Text): $string = serialize($array); // превратит массив в строку $array = unserialize($string); // превратит эту строку обратно в массив Добавлено спустя 1 минуту 12 секунд: Для json: http://php.net/manual/ru/function.json-encode - данные в строку http://php.net/manual/ru/function.json-decode - строку в данные Что использовать лучше? Попробуйте и то и то, что больше нравится, то и используйте. По скорости они примерно одинаковые, и обе очень быстрые. У JSONа, разве что, есть бонус, если эти данные нужно будет передавать на клиент в JavaScript.
Ага! Спасибо! Вроде начинает доходить. Сейчас что-нибудь попробуем. Добавлено спустя 4 минуты 42 секунды: A какой тип поля в таблице должен быть для массива? varchar?
Курить надо нормализацию базы данных а не сериализацию. Dilon сериализация нафиг здесь не нужна, потом страдать будешь. Добавлено спустя 32 секунды: Ты бы тоже сериализировал бы?
Стоп. Вам нужна таблица связей, так? Связать между собой клиентов и купленные ими товары? Тут не надо экономить на полях, т.к. с этим потом будет целый ворох проблем. К примеру, как вы узнаете сколько товаров покупают больше всего? Ведь придется перебирать все эти текстовые поля вручную. Делайте связующую таблицу, в ней поля: id, client_id, product_id и храните там свои связи. Так же не мешает ознакомиться с FOREIGN KEY http://www.mysql.ru/docs/man/SEC451.html, с помощью этой штуки можно автоматизировать некоторые вещи, в данном случае удалять связи при удалении клиента / товара из базы. Добавлено спустя 2 минуты 14 секунд: Я бы добавил, что внимательно и вдумчиво курить, иначе может возникнуть "ой" который будет очень трудно исправить ))
Блин! Не совсем точно выразил задачу наверно. Извинтиляюсь если что. Надо потом чтобы поле id_product изменялось. Добавление новых данных из таблицы product, и также удаление. Воот!!! Добавлено спустя 40 секунд: Не... не магаз
Еще одна задача на сообразительность. Но никак не могу дотумкать. В университете есть студенты и преподаватели. У каждого преподавателя конечно же может быть много студентов, но и у студентов также могут быть несколько преподавателей с которыми он занимается. Как их всех логически связать, чтобы при запросе профиля студента показывался список преподавателей на занятия которых он ходит. Аналогично профили преподавателей. Какая структура базы данных должна быть? Мне почему то думается tbl_student('id','student'), tbl_prepod('id','prepod'), univer('student_id','prepod_id') Воот! Прощу помощи!
Блин, тема называется "Как записать массив из id в одно поле базы". Массивы в базу пишут через сериализацию Не нагоняйте сферических коней, что человек попросил, то и получил. Автор, вот, затягивайся: http://habrahabr.ru/post/193380/
Сурикат, ты как бы не на американских форумах, где отвечают именно на тот вопрос, что спрашивают. У нас обычно каждый отвечающий должен сделать три вещи: обозвать спрашивающего нубом, обозвать нубами всех давших ответы, предложить свою версию костыля )) А если серьезно, человек может быть просто не в курсе что задачу обычно реализуют не так как он себе это представляет. Бывает что просто мозги клинануло и ты городишь большой костыль вместо очевидного решения. Короче, сферические кони иногда полезны, имхо )) Dilon, все верно. Только я бы название последней таблицы сделал очевиднее, типа student_prepod. Вдруг тебе ещё понадобится таблица с универами, а название уже занято )