php - 在表中插入表单值在 Codeigniter 中不起作用

标签 php mysql codeigniter

我正在尝试在表中插入表单值。我不知道它没有发布值的原因,它给我错误值不能为空我确信我在表单中提到了正确的表值任何人都可以检查我犯了什么错误

这是我的按钮:

<td><form action="<?php echo base_url();?>Dashboard/ReviewManagement" method="POST">
    <input type="hidden" name="topicid" value="<?php echo $proview->id;?>">
    <input type="hidden" name="courseid" value="<?php echo $proview->courseId;?>">
    <button type="submit" class="btn btn-xs btn-warning" >
        <span class="icon-ok"></span>
    </button>
</form></td>

这是我的 Controller :

public function ReviewManagement() {

    $username = $this->session->userdata('user_name');
    $data['userslist'] = $this->Dashboard_model->getUsers();

        $insert_data = array(
            'topicid' =>$this->input->post('topicid'),
            'stage' => $this->input->post('stage'),
            'allocatedresource' => $this->input->post('allocatedresource'),
            'status' => 1,
            'createdby' => $username,
            'createdon' => date('d/m/Y'),
            'expec' =>$this->input->post('expec')

        );

        $this->Dashboard_model->reviewmanagerInsert($insert_data);
        $this->load->view('template/header');
            $this->load->view('dashboard/reviewmanagement',$data);
            $this->load->view('template/footer'); 
        }

Here is my model:

    public function reviewmanagerInsert($data)
    {
   $this->db->insert('reviewmanager',$data); 
}

这是我的观点:

  <form action="<?php echo base_url();?>Dashboard/ReviewManagement" method="post">
        <div class="form-row">
            <div class="col-md-3">Reviewer:</div>
            <div class="col-md-9"> 
                <select name="allocatedresource" class="form-control">
                   <option value="0">Select Reviewer</option>
                <?php foreach ($userslist as $users) { ?>
                    <option value="<?php echo $users->id; ?>"><?php echo $users->username; ?></option>
                <?php } ?>
            </select>
            </div>
        </div>
        <div class="form-row">
            <div class="col-md-3">Stage:</div>
            <div class="col-md-9"> 
                <select class="form-control col-md-8" name="stage" required="">
                    <option value="" selected="">Select Stage</option>
                    <option value="1">PB Review</option>
                    <option value="2">PB2 Review</option>
                    <option value="3">Alpha Review</option>
                    <option value="4">Beta Review</option>
                    <option value="5">Gamma Review</option>
                </select>
            </div>
        </div>

        <div class="form-row">
            <div class="col-md-3">Due Date:</div>
            <div class="col-md-9">
                <div class="input-group">
                    <div class="input-group-addon"><span class="icon-calendar-empty"></span></div>
                    <input type="text" name="expec" autocomplete="off" required="" class="datepicker form-control" value=""/>
                </div>
            </div>
        </div>
        <div class="form-row">
            <div class="col-md-8 col-md-offset-2">
                <button type="submit" class="btn btn-primary btn-block">Assign</button>             
            </div>
        </div>
    </form>

出现此错误:

Column 'topicid' cannot be null

INSERT INTO `reviewmanager` 
            (`topicid`, `stage`, `allocatedresource`, 
            `status`, `createdby`, `createdon`, `expec`) 
    VALUES (NULL, NULL, NULL, 1, 'admin', '16/08/2018', NULL)

谁能帮我看看我犯了什么错误

提前致谢。

最佳答案

仅使用一种带有隐藏字段的表单,并使用 jquery 为这些隐藏字段赋值

您的按钮 View

<td>
    <div id="topicid" value="<?php echo $proview->id;?>"></div>
    <div id="courseid" value="<?php echo $proview->courseId;?>"></div>
    <button type="button" class="btn btn-xs btn-warning" >
        <span class="icon-ok" id="submit"></span>
    </button>
</td>

并在主表单中添加以下隐藏字段

<input type="hidden" name="topicid" id="topic_id">
<input type="hidden" name="courseid" id="course_id">

然后添加下面的js来赋值

$(document).ready(function(){
    $("#submit").click(function(){
        var topicid = $("#topicid").val();
        var courseid = $("#courseid").val();
        $("#topic_id").val(topicid);
        $("#course_id").val(courseid);
    });
});

这个答案尚未经过测试。

关于php - 在表中插入表单值在 Codeigniter 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51872061/

相关文章:

php - 如何通过在 codeigniter 中仅发送参数来编写用于获取记录的函数?

php - 如何使用python在mysql查询中传递变量名

javascript - 将 Google map 中的坐标和数据保存到数据库中

php - Symfony 不识别 ISNULL 函数

php - 使用 AJAX 和 PHP 进行 mysql UPDATE 在两种相同情况之一中不起作用

php - 从 varChar 列中检索日期格式的 Brithdays

php - 以 0 开头的数据库数字字段

php - MySQL UPDATE JOIN 语句速度问题

php - 优化 Codeigniter 查询

mysql - 在MySQL中查找 "next"最高id