【问题标题】:Undefined Variable taskid in view视图中未定义的变量 taskid
【发布时间】:2014-01-07 15:45:14
【问题描述】:

我正在处理视图,我想在我的视图中从数据库中打印任务 ID 以下是我的控制器功能

控制器:-

 function editMilestone($editid){
        //, $taskid) {

        if ($this->session->userdata('logged_in')) {
            $session_data = $this->session->userdata('logged_in');
            $id = $session_data['id'];
            $username = $session_data['username'];
            $is_master_admin = $session_data['master'];
            $imagethumb = $session_data['imagethumb'];
            $status_result = $this->getstatus->getEnumValues(MILESTONE, 'status');
            $result = $this->milestonemodel->getEditMilestone($editid , $taskid);

            $pendingbug = $this->bugmodel->getBug($id, $is_master_admin);
            $pendingtask = $this->taskmodel->getTask($id, $is_master_admin);
            if ($result == true) {
                $session_msg_data = $this->session->userdata('msg');
                if (isset($session_msg_data) && !empty($session_msg_data)) {
                    $milestonemsg = isset($session_msg_data['milestonemsg']) ? $session_msg_data['milestonemsg'] : '';
                    $milestoneopt = isset($session_msg_data['milestoneopt']) ? $session_msg_data['milestoneopt'] : '';
                    $this->session->unset_userdata('msg');
                } else {
                    $milestonemsg = '';
                    $milestoneopt = '';
                }
                $data = '';
                $data = array('username' => $username,
                    'is_master_admin' => $is_master_admin,
                    'imagethumb' => $imagethumb,
                    'result' => $result,
                    'taskid' => $taskid,
                    //'editid'=>$editid,
                    'status_result' => $status_result,
                    'profileopt' => $milestoneopt,
                    'profilemsg' => $milestonemsg,
                    'pendingtask' => $pendingtask,
                    'pendingbug' => $pendingbug
                );
                $this->load->view('milestone/edit_milestone', $data);
            } else {
                redirect('task', 'refresh');
            }
        } else {
            //If no session, redirect to login page
            redirect('home/logout', 'refresh');
        }
    }

型号:-

function getEditMilestone($id){
        //, $taskid) {
        $status = array(PUBLISH, UNPUBLISH, BLOCK);
        $this->db->select('*');
        $this->db->from(MILESTONE);
        $this->db->where('id', $id);
        //$this->db->where('taskid', $taskid);
        $this->db->where_in('status', $status);
        $this->db->limit(1);
        //echo $this->db-last_query();

        $query = $this->db->get();
        if ($query->num_rows() == 1) {
            return $query->result();
        } else {
            return false;
        }
    }

视图:- 里程碑视图

<div class="message">
                <span class="arrow"></span>
                <span class="body">
                    <?php
                    echo '<b> <U> Task Title </U>:- </b> &nbsp';
                    echo $milestone_row->tasktitle;
                    echo '<br/>';
                    echo '<b> <U> Workspace Title </U>:- </b> &nbsp';
                    echo $milestone_row->workspacetitle;
                    echo '<br/>';
                    echo '<b> <U> Description </U>:- </b> &nbsp';
                    echo $milestone_row->description;
                    echo '<br/>';
                    echo '<b> <U> Hours </U>:- </b> &nbsp';
                    echo $milestone_row->esthours;
                    echo 'hrs';
                    echo '<br/>';
                    echo '<b> <U> Minutes </U>:- </b> &nbsp';
                    echo $milestone_row->estmin;
                    echo'mins';
                    echo '<br/>';
                    ?>
<a href="<?php echo base_url(); ?>milestone/editMilestone/<?php echo $milestone_row->id;?>">Edit</a>
            </div>

当我从上面的视图中单击编辑链接时,它将从控制器转移到 editMilestone,然后转移到另一个视图,即 edit_milestone

查看:- 编辑里程碑

<?php
$attributes = array('class' => 'form-horizontal', 'id' => 'form_add_milestone');
echo form_open('milestone/validateEditMilestone/'.$result[0]->id.'/'.$taskid, $attributes);
?>
                    <input type="text" readonly="readonly" value="<?php echo $taskid; ?>" name="taskid" />

我想从数据库中打印我的 taskid

【问题讨论】:

    标签: php mysql codeigniter


    【解决方案1】:

    问题出在代码上。你正在使用$taskid,但它没有在下一行初始化,

    $result = $this-&gt;milestonemodel-&gt;getEditMilestone($editid , $taskid); 当您将该值放入$data 时,它不起作用,因为$taskid 中没有任何值 您应该在里程碑视图中将 $taskid 作为参数传递或创建另一个查询以从数据库中获取它。

    【讨论】:

    • 是的,确实存在问题。那么我应该在哪里定义 $ taskid?
    • 将它作为第二个参数传递给editMilestone。在里程碑视图中,编辑锚写&lt;a href="&lt;?php echo base_url(); ?&gt;milestone/editMilestone/&lt;?php echo $milestone_row-&gt;id;?&gt;/&lt;?php echo $milestone_row-&gt;taskid;?&gt;"&gt;Edit&lt;/a&gt;
    • 我会告诉你是否会发生任何进一步的错误或错误。希望你以后会给我进一步的答复
    猜你喜欢
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    相关资源
    最近更新 更多