2016-03-30 8 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, я хочу выбрать Nip От сотрудника с OutletCode как условие.

Задача: Когда echo $row->Nip."<br>";. Я получаю только белый экран.

var_dump($row);` 

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

Вы пытались вызвать var_dump в строке $? – patwoj98

+1

Вы должны присоединиться к этим запросам, так что это всего лишь 1 запрос. Это может сэкономить вам много производительности. – Ivar

+0

Вместо var_dump для строки, попробуйте vardump $ Mp, после первого foreach. – 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(); 

Я нашел, что это работает отлично для меня сейчас. Если у вас есть лучший способ, скажите мне.

Смежные вопросы