mysql - Data not being saved from multiple text boxes codeigniter -
mysql - Data not being saved from multiple text boxes codeigniter -
i'm adding multiple textboxes using javascript function dynamically, want insert boxes table in codeigniter, info not beingness inserted not showing error. can body me out of problem. in advance
my model code
public function insert_job_question($ques_data) { $this->db->set($ques_data); $this->db->insert('job_question',$ques_data); } my controller code is
$questions = $this->input->post('question'); if (is_array($questions)) { foreach ($questions $id => $ques) { $ques_data = array( 'job_post_id' => $new_job_id, 'question' => $ques ); $this->db->insert('job_question', $ques_data); } } view code <div class="row"> <div class="span8"> <div class="about-heading"> <div class="head-menu"> </div> </div> <div class="about-section"> <div class="about-content rigs-content"> <form name="jobpost" action=" <?php echo base_url('employer/job_post/post_job'); ?>" method="post"> <h2>your job detail :</h2> <div class="invest-form"> <ul> <li class="pull-right"> <label>job category:</label> <input type="text" name="jobcat" value="" placeholder="enter job category*" /> </li> <li class="pull-right"> <label>job title:</label> <input type="text" name="jobtitle" value="" placeholder="enter job title*" /> </li> <li> <label>job type:</label> <input type="text" name="jobtype" value="" placeholder="enter job type*" /> </li> <li class="pull-right"> <label>preffered age:</label> <input type="text" name="age" value="" placeholder="enter job title*" /> </li> <li> <label>preffered gender:</label> <input type="text" name="gender" value="" placeholder="enter job type*" /> </li> <li> <label>job description:</label> <input type="text" name="desc" value="" placeholder="enter job type*" /> </li> <li class="pull-right"> <label>location:</label> <input type="text" name="location" value="" placeholder="enter country*" /> </li> <li> <label>post code:</label> <input type="text" id="post" rel="popover" data-trigger="hover" name="postcode" placeholder="enter city*" /> </li> <li class="pull-right"> <label>salary:</label> <input type="text" id="salaries" name="salary" placeholder="enter salary*" /> </li> <li> <li> <label>qualification:</label> <input type="text" id="qualification" rel="popover" data-trigger="hover" name="qualification" placeholder="enter benifits*" /> </li> <li class="pull-right"> <label>category:</label> <input type="text" id="category" class="span12" required name="category" placeholder="enter job tags" /> </li> <label>benifits:</label> <input type="text" id="benefits" rel="popover" data-trigger="hover" name="benefits" placeholder="enter benifits*" /> </li> <li class="pull-right"> <label>job tags:</label> <input type="text" id="jobtags" class="span12" required name="jobtag" placeholder="enter job tags" /> </li> <li class="pull-right"> <label>career level:</label> <input type="text" id="career" class="span12" required name="career" placeholder="enter job tags" /> </li> <li> <label>country:</label> <?php $countries = getcountrieslist(); ?> <select name="company_country"> <option>select country*</option> <?php foreach ($countries $country) { ?> <option value="<?php echo $country->name ?>" <?php echo(@$usercomp->country == $country->name ? 'selected' : '') ?> > <?php echo $country->name; ?></option> <?php } ?> </select> </li> <li class="pull-right"> <table id="question"> <th>add killer questions</th> <tr> <td><input type="text" id="txtquestion" name="question"/></td> <td><input type="button" id="btnadd" class="button-add" onclick="inserttextbox()" value="add more"></input></td> </tr> </table> </li> <br> <input type="submit" value="save draft" class="button-next" /> </div> </form> <div class="wid-social"> </div> </div> </div> </div> <script> var index = 1; function inserttextbox(){ var table=document.getelementbyid("question"); var row=table.insertrow(table.rows.length); var cell1=row.insertcell(0); var t1=document.createelement("input"); t1.id = "question"+index; t1.name = "question"; cell1.appendchild(t1); var cell2=row.insertcell(1); index++; } var total = 0; $('input[type="text"]').each(function(){ if(this.val().length > 0) total = total + 1; }); alert("number of non-empty textboxes on page are: " + total); </script>
you need alter line
<td><input type="text" id="txtquestion" name="question"/></td> to
<td><input type="text" id="txtquestion" name="question[]"/></td> notice, added 2 brackets, indicate array.
then alter line in js code
t1.name = "question"; to
t1.name = "question[]"; // optional utilize incremented index t1.name = "question[i]"; then in controller can loop through or whatever like.
foreach ( $this->input->post('question') $question) { // stuff here } mysql codeigniter
Comments
Post a Comment