[英]Javascript array to PHP to database
How to pass an array from javascript to controller using codeigniter如何使用codeigniter将数组从javascript传递到控制器
Here is my code:这是我的代码:
view:看法:
function submitFunc(){
var arrayName = ['John ' , 'Josh' , 'Steph'];
var arraySerial = [ 123, 456 , 789];
$.ajax({
type: 'post',
data: {arrayName:arrayName, arraySerial: arraySerial }, //not sure of this code
url: '<?= base_url()."mycontroller/insertData"?>',
success: function(data){
}
});
}
and in my controller:在我的控制器中:
public function insertData()
{
$data = array(
'Name' =>$this->input->post('arrayName'),
'Serial' =>$this->input->post('arraySerial '),
);
$this->db->insert('test',$data);
}
trying to achieve something like this n database:试图实现这样的 n 数据库:
| Name | Serial| | John | 1 | | Josh | 2 | | Steph | 3 |
You should encode the data in json format and then send it to controller您应该将数据以 json 格式编码,然后将其发送到控制器
function submitFunc(){
var arrayName = ['John ' , 'Josh' , 'Steph'];
var jsonName = JSON.stringify(arrayName);
var arraySerial = [ 123, 456 , 789];
var jsonSerial = JSON.stringify(arraySerial);
$.ajax({
type: 'post',
data: {arrayName:jsonName, arraySerial: jsonSerial }, //not sure of this code
url: '<?= base_url()."mycontroller/insertData"?>',
success: function(data){
}
});
}
In you controller在你的控制器中
public function insertData()
{
$arrayName = $this->input->post('arrayName');
$decodeName= json_decode($arrayName,true); // will return an array
$arraySerial = $this->input->post('arraySerial ');
$decodeSerial = json_decode($arraySerial ,true); // will return an array
for($i=0;$i<=count($decodeName);$i++){
$data[] = array('Name'=>$decodeName[$i],'Serial'=>$decodeSerial[$i]);
}
$this->load->modelName($data);
}
in your model在你的模型中
public function modelName($data){
$this->db->insert_batch('tablename', $data);
}
Try the following controller code to insert data:尝试使用以下控制器代码插入数据:
$arrayName = $this->input->post('arrayName');
$Serial = $this->input->post('arraySerial');
$data = array();
foreach($arrayName as $key=>$name){
$data[] = array('Name'=>$name,'Serial'=>$Serial[$key]);
}
$this->db->insert_batch('test', $data);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.