Вставка массива в столбец базы данных mysql

Я пытаюсь вставить значения из выпадающего списка нескольких элементов в форме в столбец mysql db. Например: в раскрывающемся списке будет выбран один или несколько вариантов, а затем, когда форма будет размещена, она будет вставлять данные в один столбец в mysql db. Я зациклился на том, как вставлять данные.

Если вы хотите вставить одну строчку, то вы можете использовать implode () для генерации данных, разделенных запятыми, или вы можете сделать json_encode () и добавить в свой colum.

Скажем, вы получаете данные как

$data = array("one", "two", "tree"); // output one, two, three $insert_data = implode(",", $data); or $insert_data = json_encode($data); 

То для вставки данных в один столбец. Во время извлечения вы можете делать explode () или json_decode (), чтобы получить возвращаемые данные, и можете снова использовать их в мульти-select.

Если вам нужна одна строка для каждого элемента, тогда просто пройдите через массив и добавьте их

установите тип столбца в строку, затем используйте функцию serialize ($ array), чтобы преобразовать массив в строку. Если вы хотите вернуть строку в массив, используйте unserialize ($ string)

вы можете превратить массив в одну строку с помощью http://us1.php.net/function.implode

 $comma_separated = implode(",", $array); 

Несколько вещей, о которых нужно подумать:

Если есть отношение от одного до многих – оно не должно быть в одном столбце, просматривать несколько таблиц и изменять структуру базы данных.

Если вы действительно хотите передать массив, вам нужно будет преобразовать его в строку с помощью встроенного в php функции implode , затем используя встроенную функцию explode для извлечения столбца из db

 $arr = array('val1','val2'); $string = implode(',',$arr); //Do db insert //Do db retrieve $arr = explode(',',$string); 

http://php.net/function.implode