2017-12-18 8 views
-2

저는 CodeIgniter에서 새로 생겨 났으며 계속 학습하고 탐구하고 있습니다. 사용자가 카테고리 및 크기를 추가하는보기가 있습니다. 크기에 무제한 또는 동적 인 입력 필드가 있으므로 ex. 바지, 바지는 다양한 크기가 있으므로 사용자는 추가 버튼을 클릭하기 만하면됩니다. 그러나 여기에 모든 입력 값을 저장하는 데 나는 비축되어 있습니다. 카테고리 및 해당 카테고리의 크기를 저장하고 싶습니다. 여기 여기 내 테이블하나의 버튼으로 다중 데이터베이스에 값 저장 codeigniter 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

컨트롤러가 시행 착오 상태입니다. 그래서 코토 롤러 및 모델 파트에서 도움을 받으시기 바랍니다. 감사합니다 –

+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 오류가 발생했습니다. 심각도 : 알림 메시지 : 배열에서 문자열로 변환 –