2016-03-14 2 views
2

Мне не нужна небольшая помощь с моим кодом. Я хочу показать сообщение, когда таблица пуста.если пустой запрос показывает сообщения в php

Мой код

function category() 
{ 
    global $config,$db,$lang; 
    $result = "SELECT id, name FROM category ORDER BY id"; 
    $stmt = $db->prepare($result); 
    $stmt->execute(); 
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
    { 
     $tpl=parse_tpl('category.php'); 
     $tpl=str_replace("{_HTTP_SERVER_}",$config['http_server'],$tpl); 
     $tpl=str_replace("{cat_id}",$row['id'],$tpl); 
     $tpl=str_replace("{cat_title}",kill_tags($row['name']),$tpl); 
     echo $tpl; 
    } 
    if(empty($row)) echo $lang['category_not']; 
} 

При отсутствии записей в таблице не показывать это сообщение

$lang['category_not'] 

Я попытался с if(empty($row)), if (!$row) и if($row == o), но не работал.

+1

http://php.net/manual/fr/pdostatement.rowcount.php – aldrin27

ответ

2

Вы должны использовать свой код следующим образом:

if($stmt->rowCount() == 0) 
{ 
    echo "nothing found message"; 
} 
else 
{ 

    while($row = $stmt->fetch(PDO::FETCH_ASSOC) 
    { 
    // code for loop 
    } 
}// else ends here 
+0

Бесконечный цикл, гулянка! – deceze

+0

Пропуск первой строки результата, whoopee! – deceze

+0

Ну, наконец-то ... :) – deceze

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