php前端传过来的字符串在后台解析成数组 同时批量添加

时间:2022-01-07 13:43:58

//前端页面代码 获取多行的obj

function addBedType() {

var obj = document.getElementsByName('type_name');

var duoxuan = '';

for (var i = 0; i < obj.length; i++) {

duoxuan += obj[i].value + ',';//如果选中,将value添加到变量duoxuan中

//alert(duoxuan);}

if (duoxuan.length < 1) {

alert('请至少添加一项!'); return 0;

} else {

if (!(confirm('是否确定添加?'))) {

return false; }

}

$.ajax({

url: '{:U("Home/Gat/addBedType")}',

type: 'post',

data: {"duoxuan": duoxuan},//"duoxaun"值为一个字符串,例如{1,2,}这样的型式,需要在后台解析出来

success: function (data) {

window.location.href = "/Home/Gat/bed";  }

}

)

}

//后台代码 操作数据库

public function addBedType(){
$data = array();
$dump = $this->Seria();
$whe['ubid'] = $dump['ubid'];
$whe['add_time'] = time();

//下面才是解析前端参数的操作,将字符串变为数组。

//rtrim()用来去掉字符串{"1,2,"}最右的 ","逗号。

//explode()将{"1,2"}变成数组
$x = $_POST['duoxuan'];
$data = explode(',',rtrim($x, ','));
foreach ($data as $v) {
$whe['type_name'] = $v;
M('bed_type')->add($whe);
}

}