如何使用jquery将html表单字段作为数组直接传递给codeigniter中的数据库

bxgwgixi  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(323)

这是我的查看页面:

  1. <form role="form" id="addNewMatter" action="<?php echo base_url() ?>saveNewSupplier"
  2. method="post">
  3. <input type="text" value="" name="name" id="name" />
  4. <input type="text" value="" name="phone" id="phone" />
  5. <input type="text" value="" name="email" id="email" />
  6. <input type="text" value="" name="address" id="address" />
  7. <script>
  8. $('form').change(function() {
  9. var input = $('form').serializeArray();
  10. var data = "";
  11. $( "#formdata" ).empty();
  12. jQuery.each( input, function( i, input1 ) {
  13. if($(this).attr("name") !== 'formdata'){
  14. data += "\"" + $(this).attr("name") + "\"=>" + "\"" + input1.value + "\",";
  15. }
  16. finaldata = data.replace(/,\s*$/, "");
  17. $( "#formdata" ).val( finaldata );
  18. //alert($(this).attr('name'));
  19. });
  20. });
  21. </script>
  22. <input type="text" value="" name="formdata" id="formdata" />
  23. </form>

这是我的控制器页面:

  1. function saveNewSupplier()
  2. {
  3. $createdby= $this->vendorId;
  4. $createddate= date('d M Y');
  5. $formdata = $this->input->post('formdata');
  6. $Info = array();
  7. $Info = array($formdata, 'createdby'=>$createdby,
  8. 'createddate'=>$createddate);
  9. $this->load->model('user_model');
  10. $result = $this->user_model->saveNewSupplier($Info);
  11. }

这是我的模型页面:

  1. function saveNewSupplier($Info)
  2. {
  3. $this->db->trans_start();
  4. $this->db->insert('tbl_suppliers1', $Info);
  5. $insert_id = $this->db->insert_id();
  6. $this->db->trans_complete();
  7. return $insert_id;
  8. }

插入查询不起作用,它显示 0 作为数组中的第一列,但它应该是我通过post方法从视图传递的数组。请帮助我修复此插入查询。谢谢。

efzxgjgh

efzxgjgh1#

$this->input->post() 将表单字段作为数组提供给您,因此您无需使用任何javascript即可完成此操作。
如果你的 tbl_suppliers1 表中有“formdata”、“createdby”、“createddate”列:

  1. function saveNewSupplier()
  2. {
  3. $createdby = $this->vendorId;
  4. $createddate = date('d M Y');
  5. $form = $this->input->post();
  6. $data = array(
  7. json_encode($form),
  8. 'createdby' => $createdby,
  9. 'createddate' => $createddate
  10. );
  11. $this->load->model('user_model');
  12. $result = $this->user_model->saveNewSupplier($data);
  13. }

如果你的 tbl_supplier 有“name”、“phone”、“etc”、“createddate”列:

  1. function saveNewSupplier()
  2. {
  3. $createdby = $this->vendorId;
  4. $createddate = date('d M Y');
  5. $form = $this->input->post();
  6. $data = $form;
  7. $data['createdby'] = $createdby;
  8. $data['createddate'] = $createddate;
  9. $this->load->model('user_model');
  10. $result = $this->user_model->saveNewSupplier($data);
  11. }

请记住,脚本方法或以上示例都不会检查有效字段。

展开查看全部

相关问题