sql >> データベース >  >> RDS >> Mysql

Codeigniterを使用して配列をmysqlに挿入するときにfor-eachループを使用する方法は?

    これが多くの人に役立つことを願っている答えです:)

    これは私のビューページです:

        <div id="invoice_form">
        <?php echo form_open(base_url().'sample/myinvoice'); ?>
        <div><?php echo form_input(array('id'=>'ref','name'=>'ref'));?></div>
        <div  id="description"><p id="add_field">ADD DESCRIPTION</p></div>
        <input id="btn_add" name="btn_add" type="submit" class="btn btn-primary" value="Save" />
        <?php echo form_close(); ?>
        </div>
        <script>
        var count = 0;
        $(document).ready(function() {
        $('p#add_field').click(function(){
           count += 1;
           var html='<strong>Description  '+ count +'</strong>'+'<input id="description'+ count +'"name="description[]'+'" type="text" />'+'<input id="description'+ count +'"name="voucher_no[]'+'" type="text" />'+'<input id="description'+ count +'"name="price[]'+'" type="text" /><br />';
           $('#description').append(html); });
           });
        </script>
    

    これは私のコントローラーです:

    function myinvoice()
        {
            $this->load->library('form_validation');
    
            $this->form_validation->set_rules('ref', 'REFERENCE NO', 'trim');
            $this->form_validation->set_rules('description[]', 'DESCRIPTIONS', 'trim'); 
            $this->form_validation->set_rules('voucher_no[]', 'DESCRIPTIONS', 'trim'); 
            $this->form_validation->set_rules('price[]', 'DESCRIPTIONS', 'trim'); 
    
            if($this->form_validation->run())
            {
                $this->load->database();
                $this->load->model('sample_model');
    
                $ref =  $this->input->post('ref');
                $description = $this->input->post('description');
                $voucher_no = $this->input->post('voucher_no');
                $price = $this->input->post('price');
                 $i = 0;
                 if($description){
                foreach($description as $row)
                {
                $data['ref_no'] = $ref;
                $data['descriptions'] = $description[$i];
                $data['voucher'] = $voucher_no[$i];
                $data['value'] = $price[$i];
                 $this->db->insert("description",$data);
                $i++;
                }}
                }else{
                print_r(validation_errors());
                }}
    



    1. array_length()関数の2番目の引数は何ですか?

    2. レストラン配信データモデル

    3. GeoServerはPostgreSQLの更新可能なビューに書き込みません

    4. AndroidでのSqliteストアドプロシージャの使用