当使用Codeigniter将数组插入mysql时,如何使用for-each循环? [英] How to use for-each loop when inserting arrays into mysql using Codeigniter?
本文介绍了当使用Codeigniter将数组插入mysql时,如何使用for-each循环?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图添加dtnamic fileds和通过插入数组数据到mysql,但当我尝试这个代码没有错误和ref不只插入可以任何人帮助我。 im使用Codeigniter框架。
这是我的视图页面:我的表单与js
< 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>添加说明< / p>< / div>
< input id =btn_addname =btn_addtype =submitclass =btn btn-primaryvalue =Save/>
<?php echo form_close(); >
< / div>
这是我的控制器:
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 [$ i];
$ data ['descriptions'] = $ description [$ i];
$ data ['voucher'] = $ voucher_no [$ i];
$ data ['value'] = $ price [$ i];
$ this-> db-> insert(description,$ data);
$ i ++; }}
} else {
echoform validation error;}}
解决方案
这是我希望这将有助于许多人的答案:)
这是我的视图页:
< 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>添加说明< / p>< / div>
< input id =btn_addname =btn_addtype =submitclass =btn btn-primaryvalue =Save/>
<?php echo form_close(); >
< / div>
< script>
var count = 0;
$(document).ready(function(){
$('p#add_field')click(function(){
count + = 1;
var html = '< strong>说明'+ count +'< / strong>'+'< input id =description'+ count +'name =description []'+'type =text/> '+'< input id =description'+ count +'name =voucher_no []'+'type =text/> name =price []'+'type =text/>< br />';
$('#description')append(html);});
});
< / script>
这是我的控制器: / p>
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());
}}
Im trying to add dtnamic fileds and through that insert arrays data into mysql but when i try this code nothing error and ref no only inserting can anyone help me . im using Codeigniter framework.
This is my view page : my form with js
<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>
This is my Controller :
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[$i]; $data['descriptions'] = $description[$i]; $data['voucher'] = $voucher_no[$i]; $data['value'] = $price[$i]; $this->db->insert("description",$data); $i++; }} }else{ echo "form validation error";}}
解决方案This is the answer i hope this will help to many people :)
This is my view Page:
<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>
This is My Controller :
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()); }}
这篇关于当使用Codeigniter将数组插入mysql时,如何使用for-each循环?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文