【发布时间】:2014-08-31 16:07:08
【问题描述】:
当您提醒它时,下面的代码工作正常(例如,如果选择了选项的 1 和 2,它将显示“1,2”),但是当我尝试使用 jquery 将其发布到数据库时,它只是输出“Array ”。我尝试过使用 toString ,我认为这可能会有所帮助,但似乎没有。 plugin 工作正常,所以我认为这一定是我发布它的方式有误。
我怎样才能让它以逗号分隔的选定值(例如“1,2”)发布到数据库,就像它在警报时所做的那样,而不是“数组”?
HTML
<select id='category' class='category' multiple='multiple'>
<option value='0'>Nothing</option>
<option value='1'>Option 1</option>
<option value='2'>Option 2</option>
<option value='3'>Option 3</option>
</select>
运行插件:
$(function(){
$(".category").multiselect();
});
发送到数据库:
$('.category').change(function() {
var selected = $(this).val();
alert(selected);
$.post('update_db.php', {
content : selected,
id : <?php echo $getid;?>,
set : "column_heading"
})
});
update_db.php 适用于除此多项选择之外的所有内容。
$where = $_POST['id'];
$content = $_POST['content'];
$set = $_POST['set'];
mysqli_query($my_db,"UPDATE my_table SET " . $set . "='" . $content . "' WHERE id=" . $where);
【问题讨论】:
-
很可能您在 PHP 脚本中处理了错误的数据。
-
你的数据库中
column_heading字段的数据类型是什么? -
列是varchar