2015-12-28 2 views
-1

Я выполнение следующих запроса в моей базе данных через PHP,как перебирать пустой результирующий набор в PHP

SELECT count(*) as total,ifnull(status,1000) as status from xyz 
WHERE user_id in(0) and ifnull(status,1000) in (1) 
GROUP BY ifnull(status,1000) 

После этого я переборе, что

foreach($result as $r) 
{ 
    if($r->status == 1) 
     // Blobk of code 
} 

но проблема в том, что это не строка с 1 статусом, и поэтому она не выполняет блок кода.

Я хочу, чтобы этот блок кода выполнялся. На данный момент он не выполняется, так как $result пуст.

+0

Помогите вам с чем именно? –

+0

Можете ли вы опубликовать то, что ожидаете в качестве вывода –

+0

ваш запрос неверен –

ответ

0

Надежда Это поможет другим в будущем, Это то, что я искал:

SELECT 
      ifnull(status,1000) as status, 
      CASE WHEN EXISTS (SELECT no FROM detail_master b WHERE ifnull(b.status,1000) in (1) and b.id in(0)) 
      THEN count(*) 
      ELSE 0 
      END AS total 
      FROM detail_master where ifnull(status,1000) in (1) and av_status = 1 group by ifnull(b.status,1000) 

Вывод этого запроса:

status  total 
    1   0 

Итого 0, даже если нет данных присутствует для id 0.

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