2017-06-14 133 views
-1

我想根據數值是什麼來改變數字的生成方式。默認值是unix時代,我將它們轉換爲回聲小時。如何在php echo中使用多個if語句或函數?

$clock = time(); 

$sql = "SELECT unix FROM things"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
     echo round(($row["unix"] - $clock)/3600) .' hours from now.; 

現在它的工作原理,並正確顯示時間,但我想基於什麼unix時間戳顯示去改變它,這是它得到棘手。 我希望如果unix秒數小於3600,「小時數」會變爲分鐘,如果小於60,秒數會變爲秒,如果超過86400,則「天數」會變爲幾秒。我該怎麼做?

+1

可能dupplicate:https://stackoverflow.com/questions/8273804/convert-seconds-into-days-hours-minutes-and-seconds –

+0

[轉換秒進入天,小時可能的複製,分鐘和秒](https://stackoverflow.com/questions/8273804/convert-seconds-into-days-hours-minutes-and-seconds) –

回答

0

你可以嵌入你的小心臟。

if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
     //DONT NEED $ SIGN WHEN ROUNDING!!!! 
     $time = round(($row["unix"] - $clock/3600); 
     if ($time <= 60) { 
      echo $time . ' seconds from now.'; 
     } elseif (($time > 60) && ($time <= 3600)) { 
      echo $time . ' hours from now.'; 
     } else { 
      // You get the idea. 
     } 
    } 
} 
+0

NVM im dumb tyyty – Petras

+0

這是指出,佩特拉斯。我每次都這樣做。 – Joe

0
if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
    $time = round(($row["unix"] - $clock/3600); 
    if ($time <= 60) { 
     echo $time . ' seconds from now.'; 
    } elseif (($time > 60) && ($time <= 86400)) { 
     echo $time . ' hours from now.'; 
    } else { 
     echo $time . ' days from now.'; 
    } 
    } 
}