繁体   English   中英

Codeigniter在控制器的foreach中获取多个数据

[英]Codeigniter getting multiple data in foreach in controller

关于我的foreach循环,我遇到了一个问题,其中我无法访问第一个数组或array [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>';

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

您做错了什么:

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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM