javascript - CodeIgniter dynamic input with jquery and insert to database -


i stumbled upon concern regarding friends ci project: wanted add new <input> tag body , insert mysql, made code:

<?php echo form_open('welcome');?> <div id="container">     <p id="add_field"><a href="#"><span>&raquo; add educational background.....</span></a></p> </div> <div class="spacer"></div> <input id="go" name="btnsubmit" type="submit" value="insert" class="btn" /> <?php echo form_close();?> 

controller:

$this->load->view('welcome_message'); $this->load->model('test');   if($this->input->post('attain',true) != null){      foreach ($this->input->post('attain',true) $a) {         foreach ($this->input->post('major',true) $m)              foreach ($this->input->post('school',true) $s)                   $data = array(                     'attain'=>$a,                     'major'=>$m,                     'school'=>$s);                 $this->db->insert('stress',$data);                  print_r($data); // show purposes                  redirect(base_url());              }          } 

the javascript:

<script type="text/javascript"> var count = 0; $(function(){     $('p#add_field').click(function(){         count += 1;         $('#container').append(             '<input id="major' + count + '" name="attain[]' + '" type="text" />' +              '<input id="major' + count + '" name="major[]' + '" type="text" />' +              '<input id="' + count + '" name="school[]' + '" type="text" /><br />' );      }); }); </script>  

this written in codeigniter.

there many loops nested inside each other result in far many database entries.

also redirect inside loop first insert made redirect occur

try:

if ($this->input->post('attain')) { // returns false if no property      $attain = $this->input->post('attain', true);     $schools = $this->input->post('school', true);     $major = $this->input->post('major', true);      foreach ($attain $i => $a) { // need index match other properties         $data = array(             'attain' => $a,             'major' => isset($majors[$i]) ? $majors[$i] : '',             'school' => isset($schools[$i]) ? $schools[$i] : ''         );          if (!$this->db->insert('stress', $data)) {             // quit if insert fails - adjust accordingly             print_r($data);             die('failed insert');         }         }      // don't redirect inside loop     redirect(base_url());  } else{     echo 'no data'; } 

Comments