2017-06-14 10 views
-1

番号の値に基づいて、番号の生成方法を変更したいと思います。デフォルト値はunix epochであり、エコー時には数時間に変換されます。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

これは、Petrasを指摘するためのものです。私は毎回それをします。 – 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.'; 
    } 
    } 
} 
関連する問題