如何在php中创建进度条

时间:2015-02-05 16:24:41

标签: php datetime

我在两个单独的变量中有两个日期。第一个日期是帐户注册日期,第二个日期是帐户过期日期。我想创建一个进度条来显示剩余的剩余天数。 我做了以下,

PHP代码:

$date1 = strtotime("$reg_date");
$date2 = strtotime("$expire_date");
$today = time();
$num = $today - $date1;
$den = $date2 - $date1;
$percentage = ($today - $date1) / ($date2 - $date1) * 100;
echo"
  <div id=\"progressbar\">
    <div width=$percentage%></div>
  </div>";

CSS代码:

#progressbar {
  background-color: #99cc66;
  width: 50%; 
  height: 20px;
  border-radius: 10px;
}

它不工作,我不知道自己做错了什么。

我想要这样的照片,

Progress bar

2 个答案:

答案 0 :(得分:1)

这有效:

PHP:

$date1 = strtotime("1 feb 2015"); // Register date
$date2 = strtotime("10 feb 2015"); // Expire date
$today = time();
$timePast = $today - $date1;
$duration = $date2 - $date1;
$completed  = floor(($timePast/$duration)*100);
echo "<div id='progressbar'>";
echo "<div id='completed' style='width: ".$completed."% !important;'></div>";
echo "</div>";

使用楼层来回答问题。

CSS:

#progressbar {
    width: 50%;
    height: 20px;
    border-radius: 10px;
    border: solid 1px #000000;
    overflow: hidden;
}
#completed {
    position: relative;
    height: 100%;
    background-color: #99cc66;
}

栏由2个div组成:一个用于轮廓,一个用于实际进度(绿色位)。随着百分比增加(时间流逝),宽度也增加。内部div必须是position: relative,因为它相对于父div。

答案 1 :(得分:0)

试试这个。希望它有效

<style type="text/css">
#progressbar div
{
  background-color: #99cc66;
   width: 50%; 
   height: 20px;
   border-radius: 10px;

}
</style>
<?php
$date1 = strtotime("2014-09-05 11:44:01");
$date2 = strtotime("2015-09-07 23:44:01");
$today = time();

if ($today < $date1) {
    $perentage = 0;
} else if ($today > $date2) {
    $percentage = 100;
}
else {
    $percentage = ($date2 - $today) * 100 / ($date2 - $date1);
}
?>
<div id="progressbar" style="border: 1px solid ; border-radius: 10px;">
<div style="width: <?php echo $percentage; ?>%;"><span><?php echo round($percentage,2); ?>%</span></div>
</div>