在向表中插入数据时遇到问题。笨

时间:2014-01-30 09:05:09

标签: php mysql codeigniter insert

我在将表单值插入表格时遇到问题。我的程序显示没有错误,并且表中添加了一条记录。唯一的问题是,插入的值在每列中始终为“0”

这是我在视图中的表单

<form action="<?php echo site_url();?>/index.php/save_testscript" method = 'post'>
    <input type = "hidden" value = "1" name = "hcount1" />
    <input type = "hidden" value = "1" name = "hcount2" />
    <input type = "hidden" value = "1" name = "hcount3" />
    <input type = "hidden" value = "0" name = "testoption" />
    <input type = "hidden" name = "hdn_testcaseid" id = "hdn_testcaseid"/>
    <input type = "hidden" name = "hdn_catid" id = "hdn_catid"/>
    <!-------------MODAL------------>

    <div class="container">
        <div class="row">
            <div class="span4">
                <label>Project Name</label>
                <select name="proj_name" id="proj_name" >
                    <option value="">--Project Name--</option>  
                    <?php 
                        if($projectname['ResponseCode'] == "0000")
                        {
                            foreach ($projectname['ResponseData'] as $item)
                            {
                    ?>
                                <option value="<?php echo $item['ProjectName']; ?>"><?php echo $item['ProjectName']; ?></option>
                     <?php           
                            }
                        }                            
                    ?>    
                </select>
            </div>
             <div class="span4">
                <label>Test Script Name</label>
                <input type="text" id="txt_testscriptname" name="txt_testscriptname">
            </div>
            <div class="span4">
                <label>Test Site</label>
                <input type="text" id="txt_testsite" name="txt_testsite">
            </div>
        </div>
        </br>
        </br>
        <div class="row">
            <div class="span4">
                <div class="row">
                    <div class="side_nav">
                    <div class="" id = "scenario_list"></div></br>      
                    </div>
                </div>
                </br>
                <div class="row">
                    <div class="span4">
                        <a href="#" id = "xmodal" data-toggle="modal" data-target = "#myModal" data-backdrop="static" data-keyboard="false" >Add Test Scenario</a>
                    </div>
                </div> 
                <!-- Modal -->
                <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

                    <div class="modal-body">
                    </br></br>
                        <select name="cat_name" id="cat_name" >
                            <option value="">--Category Name--</option>

                        <?php 
                            if($categoryname['ResponseCode'] == "0000")
                            {
                                foreach ($categoryname['ResponseData'] as $item)
                                {
                        ?>
                                    <option value="<?php echo $item['CategoryId']; ?>"><?php echo $item['CategoryName']; ?></option>
                        <?php           
                                }
                            }                            
                        ?>    
                        </select>
                        </br>
                        <select name="testcases_ddl" id="testcases_ddl" >
                            <option value="">--Test Case--</option>
                        </select>
                        <div class="accordion" id="accordion2">
                            <div class="accordion-group">
                                <div class="accordion-heading">
                                    <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
                                        Test Case
                                    </a>
                                </div>
                                <div id="collapseTwo" class="accordion-body collapse">
                                    <div class="accordion-inner" id = "scenarios">

                                        <div class="test-description" id = "test_desc">
                                            TEST DESCRIPTION
                                            <!-- add data here-->
                                        </div>
                                        <div class="expected-result" id = "exp_result">
                                            EXPECTED RESULT
                                            <!-- add data here-->
                                        </div>
                                        <div class="expected-charge" id = "exp_charge">
                                            EXPECTED CHARGE
                                            <!-- add data here-->
                                        </div>                                          
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
                        <button class="btn btn-primary" id="save_scenario" name="save_scenario">Save</button>
                    </div>
                </div>
            </div>
            <div class="span8">
                <div class="createnew-content">
                    <div class="row">
                        <div class="span4">
                            <label>TEST DESCRIPTION</label>
                            <input class="input-xlarge" type="text" id="txt_testdesc" name="txt_testdesc" disabled = "disabled">
                        </div>
                        <div class="span4">
                            <label>REMARKS</label>
                            <input class="input-xlarge" type="text" id="remarks" name="txt_remarks">
                        </div>
                    </div>
                    <div class="row">
                        <div class="span4">
                            <label>EXPECTED RESULT</label>
                            <input class="input-xlarge" type="text" id="txt_exp_res" name="txt_exp_res" disabled = "disabled">
                        </div>
                        <div class="span4">
                            <label>EXPECTED CHARGE</label>
                            <input class="input-xlarge" type="text" id="txt_exp_cha" name="txt_exp_cha" disabled = "disabled">
                        </div>
                    </div>
                    <div class="row">
                        <div class="span4">
                            <label>TEST WEBSITE</label>
                            <input class="input-xlarge" type="text" id="test_website" name="txt_testwebsite">
                        </div>
                    </div>
                    <div class="row">
                        <div class="span2">   
                            <button type="button" class="button-orange-big" id = "btnSave">SAVE</button>
                        </div>
                    </div>
                    </br>
                </div>
            </div>
        </div>
        </br>
    </div>
</form>

这是我的观点ajax代码。

 $('#btnSave').click(function(){
               //$("#tc").submit();
               if(confirm("Are you sure want to save this transaction?")==false){
                 return false;
               }else{
                    $.ajax({
                        type:'post',
                        dataType:'json',
                        url: "<?php echo site_url();?>/testscript/save_testscript",
                        data: $('form').serialize(),
                        success: function(data){ 
                            if(data.response=="successful"){
                                alert('Save Successful.');
                                window.location.assign("<?php echo site_url();?>/index.php/testscript");
                            }else{
                                alert('error');
                            }
                            return false;
                        }
                    })
               }
            });

我的控制器代码

function save_testscript(){
    $project_name = $this->input->post('proj_name');
    $category_id = $this->input->post('hdn_catid');
    $testcase_id = $this->input->post('hdn_testcaseid');
    $testcript_name = $this->input->post('txt_testscriptname');
    $test_site = $this->input->post('txt_testsite');
    $description = $this->input->post('txt_testdesc');
    $remarks = $this->input->post('txt_remarks');
    $expected_result = $this->input->post('txt_exp_res');
    $expected_charge = $this->input->post('txt_exp_cha');
    $test_website = $this->input->post('txt_testwebsite');

    //echo $project_name;

    $this->load->model('testscript_model');
    $data = array('category_id'=>$category_id,
                  'testcase_id'=>$testcase_id,
                  'project_name'=>$project_name,
                  'testscript_name'=>$testscript_name,
                  'test_site'=>$test_site,
                  'test_website'=>$test_website,
                  'description'=>$description,
                  'remarks'=>$remarks,
                  'expected_result'=>$expected_result,
                  'expected_charge'=>$expected_charge,
                  'date_created'=>date('m-d-y'),                             
                  'created_by'=>'admin');//change this to the current online user
    $query = $this->testscript_model->insert_testscript($data);
    die(json_encode(array('response'=>'successful')));

型号代码

function insert_testscript($data)
{
    $this->load->database();
    $this->db->insert('testscripts',$data);
}

我不知道是什么问题。我尝试使用萤火虫和尾巴,但没有出现错误..我很确定我的字段在表单内...

2 个答案:

答案 0 :(得分:0)

首先:使用 变化

<?php echo site_url();?>/testscript/save_testscript

<?=base_url('testscript/save_testscript');?>

然后直到解决你的问题,只需禁用你的ajax并让表格正常发布;

并在你的控制器中添加

function .....(){
echo "<pre>";
print_r($this->input->post());
....you code....
print_r($data);
echo "</pre>";
...your query...
$query = $this->testscript_model->insert_testscript($data);
echo $this->db->last_query();
return;
}

这会告诉你问题出在哪里!

答案 1 :(得分:0)

只是一个提示:检查表列不是全部整数。如果是这样,如果你试图插入一个字符串,它将使它为0。