我有一个选择框,它有多个项目选择功能
<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)";
答案 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)
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