0

我正在尝试将多个选择值插入数据库。

HTML

<select style="width:175px" id="first" multiple="true">
    <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>
</div>

<div class="mid">
<button type="button" class='add'> > </button>
<button type="button" class='remove'> < </button>
<button type="button" class='add-all'> >>> </button>
<button type="button" class='remove-all'> <<< </button>
</div>

<div class="end">
<select style="width:175px" id="second" name="second[]" multiple="true">
</select>
</div>

<div style="clear:both;"></div>

Javascript:

$('.add').click(function(){
$('#first option:selected').appendTo('#second');
});
$('.remove').click(function(){
$('#second option:selected').appendTo('#first');
});
$('.add-all').click(function(){
$('#first option').appendTo('#second'); 
});
$('.remove-all').click(function(){
$('#second option').appendTo('#first'); 
});

PHP:(它只是 php 代码的一小部分)

$formvars['second'] = $this->Sanitize($_POST['second']);
$insert_query = 'insert into 'comments'(second) values ("' . $this->SanitizeForSQL($formvars['second']) . '",)';

它仅将单词“Array”插入数据库。任何想法?

4

2 回答 2

0

如果它正在插入一个数组,您应该通过 for 循环对其进行迭代,以将所有值连接到一个字符串中:

<?php
    $toInsert = '';
    foreach($_POST['second'] as $p){
        $toInsert = $toInsert . $p;
    }
?>

$toInsert 字符串是您应该写入数据库的字符串。

于 2013-08-19T10:20:03.117 回答
0
var selectArr = []; 

$('#first option').each(function() {
    selectArr.push($(this).val());
});

现在你可以将 selectArr 传递给你的服务器,然后检查你得到了什么。

于 2013-08-19T10:17:26.050 回答