Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用codeigniter循环从mysql检索数据_Php_Mysql_Codeigniter - Fatal编程技术网

Php 如何使用codeigniter循环从mysql检索数据

Php 如何使用codeigniter循环从mysql检索数据,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有一个问题,我将在我的sql中检索几个数据,例如,我有9个数据,但我的问题是,在我的foreach中,将要处理的数据和foreach放在我的控制器中 这是我的控制器: function getPhaseData() { try { $this->SessionCheck(); $this->user->initialize($this->session->userdata('userid'));

我有一个问题,我将在我的sql中检索几个数据,例如,我有9个数据,但我的问题是,在我的foreach中,将要处理的数据和foreach放在我的控制器中

这是我的控制器:

function getPhaseData() {
    try 
    {
        $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->phaseList = $this->Project->LatestApplicablePlan->WBS->GetPhaseList($Options);
        $PhaseList = $this->Project->LatestApplicablePlan->WBS->GetPhaseList($Options);

    foreach($PhaseList as $row) 
    {
            $postlist->taskList = $this->Project->LatestApplicablePlan->WBS->GetWBS($Iterate['TaskID'], $Options);
    }


        /*if($PhaseTaskID == null)
        { }
        else
        {
            foreach($PhaseTaskID as $index=>$value)
            {
                $finalArr[$value['baseTaskID']] = $value['baseTaskID'];

                //echo $finalArr[$value['baseTaskID']].' ';
                    $postlist->taskList = $this->Project->LatestApplicablePlan->WBS->GetWBS($finalArr[$value['baseTaskID']], $Options);
            }
        }*/


        $postlist->project = $ProjectID;
        return $this->load->view('MyToDoPhaseDropdown', $postlist);
    }
这是我的视图,我将在选择下拉列表中显示从控制器获取的数据

if($project == 0) {
    echo '<td style="padding-top:5x;font-size:14px;" colspan="2"> <br> Phases : ';

        echo '<select disabled id="phases_select" style="width:400px;" onchange="search_filter()" >';

        echo '<option value="0" selected="selected"> Select Project Phase </option>';

 echo '</select>';
 echo '</td>';
    }
else
{
    foreach($taskList as $iterate) 
    {
        echo ' TaskID: '. ' '.$iterate['TaskID'] .' -- TaskName: '. $iterate['TaskName'].'<br>' ;
    }

    /*foreach($phaseList as $row) {
        echo 'TaskID: '. $row['TaskID'].' '.$row['TaskName'].'<br>';
        if(preg_match("/^CYCLE/", strtoupper($row['TaskName'])))
        {
            foreach($row['Child'] as $child) {
                echo 'TaskID: '. $child['TaskID'].' '.$child['TaskName'].'<br>';
            }
        }
    }*/

    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)
                        {
                            if($Iterate['BaseTaskID'] != $child['TaskID']) 
                            {
                                echo '<option value="'. $child['TaskID']. '">';
                                echo $row['TaskName'].' > '.$child['TaskName'].  '</option>';
                            }

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

这不是确切的答案,但这将有助于理解codeigniter中的MVC结构

模型

控制器

看法


希望这对您有所帮助。

您好,先生,是的,我知道MVC结构是如何工作的。但是,如果我在控制器中不使用foreach来检索数据,那么当我将变量传递到$postlist->taskList=$this->Project->LatestApplicablePlan->WBS->GetWBS$Iterate['TaskID']时,我会收到一个错误,$Options;如果我在这里不用foreach。我不会从数据库中获取数据。你能做一个$PhaseList的vardump并发布结果吗。并发布您收到的错误消息。vardump的结果将仅为一个数据,事实上,它不仅是一个数据,而且数据库中有多个数据,例如,它有9个数据。但在foreach内部,它只回显一个数据。
  function get_city_list(){
  $this->db->select('city_id, name');
  $this->db->where('status', 1);
  $this->db->order_by("name", "asc"); 
  $this->db->from('city'); 
  $query = $this->db->get();
  $result = $query->result();
  return $result;
  }
    function listing(){
    $data['city'] =  $this->home->get_city_list();
    $this->load->view('property_listing', $data);
    }
    foreach($city as $cty){
        echo $cty->name;
        echo $cty->city_id;
    }