多选功能无法正常工作

时间:2013-03-15 07:56:02

标签: javascript jquery html mysql html5

我正在使用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 []后,我得到一个数组到字符串转换错误。我该怎么做才能解决这个问题

1 个答案:

答案 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)";