如何在一列中插入多个选择框项

时间:2014-07-12 13:53:51

标签: php mysql sql

我有一个选择框,它有多个项目选择功能

<select multiple="" class="form-control" name="mul[]">
                                <option value="1">1</option>
                                <option value="2">2</option>
                                <option value="3">3</option>
                                <option value="4">4</option>
                                <option value="5">5</option>

                        </select>

这里选择框项目从另一个表动态生成。所以项目数量可以增加或减少。因此我不能使用设置数据类型。

现在我想在我的数据库表中插入所选的值。

我的表格似乎

id  name   item

1   first   mul[] value

2   second  mul[] value

我想在DB Table列名为item的项目中插入所选项目。

此外,我想检索每一行数据。

查看

id  name   item

1   first   1,2,3

2   second  2,4

我试过

$select_value=$_POST['mul'];

$sql="insert into mytable (`id`, `name`, `item`) VALUES (null, 'Hallo',$select_value)";

3 个答案:

答案 0 :(得分:1)

使用php implode功能。

http://www.w3schools.com/php/showphp.asp?filename=demo_func_string_implode

在你的情况下,它会像

一样
$select_value=implode(", ", $_POST['mul']);

$sql="insert into mytable (`id`, `name`, `item`) VALUES (null, 'Hallo',$select_value)";

然后插入.. :))

试试这个..我希望它可以帮到你

答案 1 :(得分:0)

这将自动将数组更改为字符串,使用逗号:

$select_value = join($_POST['mul'],',');

答案 2 :(得分:0)

php的'implode'是解决方案:

echo implode(",",$_POST['mul']);//here $_POST['mul'] = ['1','2','3']

输出字符串“1,2,3”,将其插入表格。

以下是有关implode implode

的更多信息

另外,如果你想使用你的选项值从DB表中检索记录,那么sql的FIND_IN_SET()函数会很有用,查询将是:

SELECT * FROM mytable WHERE FIND_IN_SET('option_value',`item`) <>0