簡體   English   中英

mysql如果超過0的行數顯示結果,否則回顯沒有最近的活動-無法正常工作?

[英]mysql if num rows more than 0 show results else echo no recent activity - not working?

我正在嘗試使此代碼正常工作。 我從數據庫中獲取了不到30天的結果列表。 並在我的div中顯示它們。

效果很好,但是如果沒有結果,我想回顯“最近的活動”,而我無法使這工作。 我正在使用MySQL num行計數和else語句嘗試使它執行我需要的操作,但是即使沒有結果,它也不會顯示最近的活動。

請有人告訴我我要去哪里錯了。

謝謝,

碼:

<div class="dashboard_stats">
<?php require_once 'config.php'; ?>

<?php
$table = 'recent_activity';


echo '<div class="dashboard_stats_heading"><table class="table_other"><tr><td>Description</td><td>Reference</u></td><td>Status</td><td>Supplier Name</td></tr></table></div>';

$query1 = "SELECT * FROM $table WHERE user_id = '{$_SESSION['id']}' AND date > NOW() - INTERVAL 30 DAY ORDER BY date DESC";
$result1 = mysql_query($query1);
while ($row1 = mysql_fetch_array($result1)) {


    if(mysql_num_rows($result1)>0){

    $date = $row1['date'];
    require_once 'time_ago.php';

    if($row1['activity_type']==='Bank'){
        $activity_type = 'Bank Details Changed';
    }else{
        if($row1['activity_type']==='Username'){
            $activity_type = 'Username Changed';   
        } else {
            if($row1['activity_type']==='Password'){
                $activity_type = 'Password Changed';   
            } else {
                if($row1['activity_type']==='Contact'){
                    $activity_type = 'Contact Details Changed';   
                } else {
                    if($row1['activity_type']==='Invoice'){
                        $activity_type = 'Invoice Submitted';   
                    } else {
                        if($row1['activity_type']==='Trading'){
                            $activity_type = 'Trading Suspended';     
                        }
                    }
                }
            }
        }
    }




        echo '<table><tr><td><p>'.$activity_type.'</p></td><td><p>1234</p></td><td><p>'.$row1['status'].'</p></td><td><p>'; 
        echo pretty_relative_time($row1['date']);
        echo '</p></td></tr><tr class="separator"></tr></table>';

    }else{

        echo   '<div id="content">No Recent Activity</div>';   

    }
}

echo '</div>';
?>

</div>

您需要將if語句移出while循環,因為如果while循環沒有任何內容要迭代,則不會運行它。

切換if和while

if(mysql_num_rows($result1)>0){

while ($row1 = mysql_fetch_array($result1)) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM