簡體   English   中英

為什么此代碼塊會導致空白?

[英]Why does this block of code result in a blank space?

我的目標是減去兩次,然后從那里生成一個已登錄的檢查器。

我需要知道的是,是否在幾分鍾內正確地減去了兩次。

PHP版本:7.0

使用NOW()將時間輸入到數據庫中,並顯示為(例如:2016-07-23 15:01:34)

出於某種原因,此代碼包含在HTML中,只是空白。

代碼(所有內容都在代碼的上方定義):

<?php

include ('../includes/connection.php');
include ('../scripts/functions.php');

$getOnlineAdmins = $handler->prepare('SELECT * FROM Admins WHERE AdminLevel >= :al AND Status= :stat');
$statn = 1;
$aln = 1;
$getOnlineAdmins->bindParam(':al', $aln);
$getOnlineAdmins->bindParam(':stat', $statn);
$getOnlineAdmins->execute();

echo "
  <table class='table-fill'>
    <thead>
      <tr>
        <th class='text-left' style='padding-left: 12px; padding-right: 12px;';></th>
      </tr>
    </thead>
    <tbody class='table-hover'>";

if ($getOnlineAdmins->rowCount() >=1){
    echo ("These is one or more rows.");
    while ($results = $getOnlineAdmins->fetch()){
        if((strtotime($results['LastVisited']) + 900) >= time()){
            echo ("Time requirement met.");
            switch ($results['AdminLevel']) {
                case 3:
                    $rank = 'In-Training/Intern';
                    break;
                case 6:
                    $rank = 'Community Moderator';
                    break;
                case 9:
                    $rank = 'Senior Moderator';
                    break;
                case 12:
                    $rank = 'Supervisor';
                    break;
                case 15:
                    $rank = 'Administrator';
                    break;
                case 18:
                    $rank = 'Senior Administrator';
                    break;
                case 21:
                    $rank = 'Staff Advisor';
                    break;
                case 24:
                    $rank = 'Engineer';
                    break;
                case 27:
                    $rank = 'Vice Chairman';
                    break;
                case 30:
                    $rank = 'Chairman';
                    break;
                case 33:
                    $rank = 'Website Engineer';
                    break;
                default:
                    $rank = 'Unknown';
                    break;
            }
                echo "<tr>";
                echo "<td>" . $results['Username'] . " - " . $rank . "</td>";
            } else {
            echo "<tr><td>{$results['Username']} &ndash; $rank</td>";
        }
    }
}else{
    echo "<tr><td>There are no staff members online.</td>";
}
echo " </tbody>
      </table>";

?>

據我了解, now()無法獲得您期望的當前時間。 我認為這是您誤解的根源,請參閱問題。

假設$results['LastVisited']的格式為2016-07-23 14:11:02 –您可以使用strtotime將其轉換為UNIX時間戳。

因此,如果15分鍾前的時間小於或等於您上次訪問的時間:

if (strtotime('-15 minutes') <= strtotime($results['LastVisited'])) {}

使用time()替代格式–您將使用它代替MySQL等效的UNIX_TIMESTAMP()

if ((time() - 900) <= strtotime($results['LastVisited'])) {}

暫無
暫無

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

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