2016-03-30 115 views
0

请首先检查我的脚本。如何从查询中获得价值

$arealeader = $this->db->query("select OutletCode from arealeader where NipLeader = '$Nip'")->result(); 
      $Mp=array(); 
      foreach($arealeader as $row) 
      { 
       $Mp[] = $this->db->query("select Nip from Employee where OutletCode = '".$row->OutletCode."'")->result(); 
       $MpCount[] = $this->db->query("select Nip from Employee where OutletCode = '".$row->OutletCode."'")->num_rows(); 

      } 

      echo array_sum($MpCount) // Result 18 
      foreach($Mp as $row) 
      { 
       echo $row->Nip."<br>"; 
      } 

我的脚本如何工作:在$Arealeader我从条件表中选择每个OutletCode。然后,我有OutletCode后,我想选择NipOutletCode作为条件的员工。

问题:当echo $row->Nip."<br>";。我只得到白色屏幕。

var_dump($row);` 

    i get this 
`array(1) { 
     [0]=> 
     object(stdClass)#52 (1) { 
     ["Nip"]=> 
     string(9) "201603172" 
     } 
    } 
+0

您是否尝试在$ row上调用var_dump? – patwoj98

+1

您应该加入这些查询,因此它只有1个查询。这可以为您节省很多性能。 – Ivar

+0

而不是var_dump行,尝试在第一个foreach之后vardump $ Mp。来自'var_dump($ Mp)的 – Ivar

回答

0

ivar : You should join those queries so it is only 1 query. That can save you a lot of performance

我改变我上面的脚本,并切换到该。

$data['master'] = $this->db->query("select a.*,b.fullname from SaldoCuti a 
        left join employee b on a.Nip = b.Nip 
        left join outlet c on b.OutletCode = c.OutletCode 
        left join arealeader d on c.OutletCode = d.OutletCode  
        where NipLeader = '$Nip'")->result(); 

我发现现在对我来说工作正常。如果你们有更好的办法,请告诉我。