2017-12-18 130 views
-2

我只是CodeIgniter中的新成员,仍然在学习和探索它。 我有这个视图,用户添加类别和大小。它具有大小无限或动态的输入字段,所以如果用于例如。裤子,裤子有很多尺寸,所以用户只需点击添加按钮即可。但这是我储存所有投入的东西。我想保存类别和相应的类别大小。 这里是我的表用一个按钮codeigniter mysql在多个数据库中保存多个数值mysql

CREATE TABLE `category` (
    `category_id` int(11) NOT NULL AUTO_INCREMENT, 
    `category_name` varchar(55) NOT NULL, 
    PRIMARY KEY (`category_id`) 
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=latin1; 
CREATE TABLE `sizes` (
    `size_id` int(11) NOT NULL AUTO_INCREMENT, 
    `size` varchar(45) NOT NULL, 
    `category_id` int(11) NOT NULL, 
     PRIMARY KEY (`size_id`), 
     KEY `cat_fk_idx` (`category_id`), 
     CONSTRAINT `cat_fk` FOREIGN KEY (`category_id`) REFERENCES `category` 
     (`category_id`) 
      ) 

这是我的view.php

<div class="col-sm-5"> 
<?php echo $this->session->flashdata('errorMessage');?> 
<?php echo $this->session->flashdata('successMessage');?> 
<?php echo form_open('category_con/add_category'); ?> 
<?php echo form_fieldset('<h1 class="text-danger">Categories</h1>'); ?> 
<div class="form-group"> 
    <label for='Username'>Add New Category</label> 
    <input type="text" name="category_name" class="form-control" placeholder="Add new Category here"> 
</div> 

<script src="assets/js/jquery.min.js"></script>   
       <div class="form-group"> 
        <form name="add_name" id="add_name"> 
          <div class="table-responsive"> 
           <table class="table table-bordered" id="dynamic_field"> 
            <tr> 
             <td><input type="text" name="name[]" placeholder="Add Size" class="form-control name_list" /></td> 
             <td><button type="button" name="add" id="add" class="btn btn-success">Add More</button></td> 
            </tr> 
           </table> 

          </div> 
        </form> 
       </div> 
    <div class="form-group"> 
    <input type="submit" name="save_category" class="btn btn-success" value="Save Category"> 
</div>   
</div> 

<script> 
$(document).ready(function(){ 
     var i=1; 
     $('#add').click(function(){ 
      i++; 
      $('#dynamic_field').append('<tr id="row'+i+'"><td><input type="text" name="name[]" placeholder="Add Size" class="form-control name_list" /></td><td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>'); 
     }); 
     $(document).on('click', '.btn_remove', function(){ 
      var button_id = $(this).attr("id"); 
      $('#row'+button_id+'').remove(); 
     }); 
     $('#submit').click(function(){    
      $.ajax({ 
       url:"name.php", 
       method:"POST", 
       data:$('#add_name').serialize(), 
       success:function(data) 
       { 
        alert(data); 
        $('#add_name')[0].reset(); 
       } 
      }); 
     }); 
}); 
</script> 

我希望你能帮助我。谢谢。

+0

你忘记了你的控制器代码 – madalinivascu

+0

我的控制器仍处于试验和错误状态。所以希望你能在cotroller和模型部分帮忙。谢谢 –

+0

所以,你想让我们编码*你的*工作的2/3? – Alex

回答

1

创建名为模型test.php的

<?php 

class Test extends CI_Model 
{ 

    public function create() 
    { 
     $data = array(
      array(
       'category_name' => 'Data Input of category_name' // data input (category_name) 
      ), 
      array(
       'category_name' => 'Data Input category_name' // data input (category_name) 
      ) 
     ); 


     $this->db->insert_batch('category', $data); 

     $last_row_id = $this->db->insert_id(); // Gets last row id (category_id) 

     $data = array(
      array(
       'size'  => 'Data input of size' , 
       'category_id' => $last_row_id 
      ), 
      array(
       'size'  => 'Data input of size' , 
       'category_id' => $last_row_id 
      ) 
     ); 


     $this->db->insert_batch('sizes', $data); 

    } 


} 

你可以尽可能数据传递到动态模型类

在某处你的控制器上

$this->load->model('test'); //Model loaded 
$this->test->create();  // Insertion happened to multiple tables 
+0

我只是想问,这是否保存无限域或动态域? –

+0

请参考已更新的答案 –

+0

我收到此错误,遇到PHP错误 严重性:通知 消息:数组到字符串转换 –

相关问题