我正在创建一个codeigniter项目,其中我从我的数据库中获取项目数量,每个项目都有一个提交按钮,点击哪个数据使用AJAX和jQuery存储到数据库中。 现在,问题是,当我提交任何项目时,只有第一种形式的数据被发送到插入数据到数据库的方法,请提供一些相同的解决方案。我的代码是为下:使用Ajax和jQuery将数据提交到数据库 - codeigniter提交
型号:
<?php
class Products_model extends CI_Model{
function get_all(){
$results = $this->db->get('tblUtensils')->result();
return $results;
}
function get($id){
$results = $this->db->get_where('tblUtensils', array('pkItemID' => $id))->result();
$result = $results[0];
return $result;
}
}
?>
查看:
<body>
<div id="products">
<?php foreach ($products as $product):
$id=$product->pkItemID;
?>
<li>
<?php echo form_open('shop/add', 'id="form"'); ?>
<div><?php echo form_input('name_' . $id, $product->fldName , 'id='.'"'.'name_' . $id.'"');?></div>
<div><?php echo form_input('desc_' . $id, $product->fldDescription , 'id='.'"'.'desc_' . $id.'"');?></div>
<div><?php echo form_input('rate_' . $id, $product->fldRateMB1 , 'id='.'"'.'rate_' . $id.'"');?></div>
<div><?php echo form_input('Qty_' . $id, 0, 'id='.'"'.'qty_' . $id.'"');?></div>
<?php echo form_hidden('id', $product->pkItemID, 'id="ID"'); ?>
<?php echo form_submit('action', 'Add','id="submit"');?>
<?php echo form_close(); ?>
</li>
<?php endforeach; ?>
</ul>
</div>
<!-- try 2 -->
<script type = "text/javascript">
$(function(){
$('form').submit(function(e){
e.preventDefault(); // <------this will restrict the page refresh
var form_data = {
id: $('#id').val(),
name: $('#name_' + id).val(),
rate: $('#rate_' + id).val(),
qty: $('#qty_' + id).val()
};
$.ajax({
url: "<?php echo site_url('shop/add'); ?>",
type: 'POST',
data: form_data,
success: function(msg) {
alert("success");
}
});
return false;
});
});
</script>
</body>
</html>
控制器:
<?php
class Shop extends CI_Controller{
function index(){
$this->load->model('Products_model');
$data['products'] = $this->Products_model->get_all();
$this->load->view('products',$data);
}
function add(){
//$this->load->model('Products_model');
//$product = $this->Products_model->get($this->input->post('id'));
$insert = array(
'id' => $this->input->post('id'),//<-- also not able to get this id from ajax post request
'qty' => $this->input->post('qty'),
'price' => $this->input->post('rate'),
'name' => $this->input->post('name'),
);
$this->cart->insert($insert);//<--insert item into cart
$query// to insert into database
//redirect('shop');
}
}
?>
许多问题已张贴有关笨和Ajax之前,但无一获得成功为我的问题提供解决方案,所以我发布这个问题,感谢您的帮助。
请阅读DOM这里:http://kangax.github.io/domlint/ 你的表格具有相同的ID。 – 2014-12-03 06:41:36
所以最新的解决方案? – Abhishek 2014-12-03 10:26:37