我正在使用multi select
的{{1}}函数以及listbox
代码。在接口中我们可以选择多个元素但是当我使用php代码从中获取值时,它只检索一个值。有人可以告诉我有什么问题吗?
javascript:
php
HTML code:
<script type="text/javascript">
$(function(){
$("select").multiselect();
});
</script>
mysql代码:
<select title="Basic example" multiple="multiple" name="example-basic" size="5">
<option value="Sgoop">Sgoop</option>
<option value="Monet">Monet</option>
<option value="Hive">Hive</option>
<option value="Mahout">Mahout</option>
<option value="R">R</option>
<option value="Storm">Storm</option>
<option value="Flume">Flume</option>
<option value="Solr">Solr</option>
<option value="Python">Python</option>
<option value="Splunk">Splunk</option>
<option value="Ruby">Ruby</option>
<option value="perl">perl</option>
</select>
将examplebasic更改为examplebasic []后,我得到一个数组到字符串转换错误。我该怎么做才能解决这个问题
答案 0 :(得分:1)
修改
将名称更改为
name="example-basic[]"
并在您的PHP代码中:
$options = json_encode( $_POST['example-basic'] );
// and for populating you can use `json_decode` to get the array again
或者您可以使用,
拆分数组项,然后将其插入数据库字段:
$options = implode( ',', $_POST['example-basic'] );
有关详细说明,请参阅implode php manual
// then for populating use `explode` to convert it to array
$sql="INSERT INTO details (name, type, domain, rights, description, author, version, download)
VALUES ('$_POST[compname]','$options','example','example2','$_POST[textarea]','$_POST[name]',1,0)";