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>» 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
Post a Comment