Codeigniter在控制器

时间:2015-04-29 07:00:07

标签: php mysql codeigniter

我的foreach循环有问题,我无法访问第一个数组或数组[0],我也不知道问题。

这是控制器:

$this->SessionCheck();
        $this->user->initialize($this->session->userdata('userid'));

        $this->load->model('project_model', 'Project');
        $ProjectID = $this->input->post('ProjectID');

        /***************** Intialize Project model ******************/
        $this->Project->Initialize($ProjectID);

        $Options = Work_breakdown_structure::$WithBaseTaskID;

        //$PhaseTaskID = (int)$this->input->get_post('TaskID',TRUE);

        $PhaseTaskID = $this->Project->getPhaseBaseTaskID($ProjectID);
        $postlist->PhaseTaskID = $this->Project->getPhaseBaseTaskID($ProjectID);
        $postlist->phaseList = $this->Project->LatestApplicablePlan->WBS->GetPhaseList($Options);

        if($PhaseTaskID == null)
        { }
        else
        {
            foreach($PhaseTaskID as $index=>$value)
            {
                $finalArr[$value['TaskName']] = $value['BasetaskID'];
                    $postlist->taskList = $this->Project->LatestApplicablePlan->WBS->GetWBS($finalArr[$value['TaskName']], $Options);
            }

                echo print_r($finalArr);

            for($x = 1 ; $x < 2 ; $x++)
            {
                //$postlist->taskList = $this->Project->LatestApplicablePlan->WBS->GetWBS($phaseID, $Options);
            }
        }
        $postlist->project = $ProjectID;
        return $this->load->view('MyToDoPhaseDropdown', $postlist);

这是我的观点:

 echo '<td style="padding-top:5x;font-size:14px;" colspan="2"> <br> Phases : ';
        echo '<select id="phases_select" style="width:400px;" onchange="search_filter()" >';
            echo '<option value="0" selected="selected"> Select Project Phase </option>';
                foreach($phaseList as $row) 
                {
                    if(preg_match("/^CYCLE/", strtoupper($row['TaskName'])))
                    {
                        foreach($row['Child'] as $child) 
                        {
                            echo '<option value="'. $child['TaskID']. '">';
                            echo $row['TaskName'].' > '.$child['TaskName'] . '</option>';
                        }
                    }
                    else
                    {
                        if($Iterate['BaseTaskID'] != $row['TaskID']) 
                        {
                            echo '<option value="'. $row['TaskID']. '">';
                            echo $row['TaskName'].'</option>';
                        }

                        foreach($taskList as $Iterate) 
                        {
                            if($row['TaskID'] == $Iterate['BaseTaskID'] ) 
                            {
                                echo '<option value="'. $row['TaskID']. '">';
                                echo $Iterate['TaskName'].' '.$Iterate['IterationNumber']. '</option>';
                            }
                        }
                    }
                }
        echo '</select>';
    echo '</td>';

问题是我需要将所有值都放入数组中以将其传递给视图。但我只得到最新的值,这是我在数据库中检索的第二个数据。

1 个答案:

答案 0 :(得分:0)

你做错了是:

return $this->load->view('MyToDoPhaseDropdown', $postlist);

您需要将变量中的数据设置为可在视图中访问:http://codeigniter.com/user_guide/general/views.html

$data = array('title' => 'My Title',
              'heading' => 'My Heading',
              'message' => 'My Message');

$this->load->view('MyToDoPhaseDropdown', $data);

在视图文件中:MyToDoPhaseDropdown.php

<html>
<?php 
//Access them like so
echo $title.$heading.$message; ?>
</html>