bostanci96 adlı üyeden alıntı:
mesajı görüntüle
Kodunuzu güncellediğinizde hedef tarih ile mevcut tarih arasındaki farkı doğru bir şekilde hesaplamışsınız gibi görünüyor. Ancak, progress çubuğunu hesapladığınızda bir hata olmuş gibi görünüyor. Sorununuzu gidermek için kodunuzu aşağıdaki gibi düzeltebilirsiniz:
<?php
$startdate = $orders['orders_time'];
$month = $orders['orders_lastdate'];
if ($month >= time()) {
$remaining['text']['year'] = " Yıl ";
$remaining['text']['month'] = " Ay ";
$remaining['text']['day'] = " Gün";
$remaining['remaining'] = $month - time();
$remaining['day'] = floor($remaining['remaining'] / 86400);
$totalDays = $remaining['day'];
if ($remaining['day'] >= 30) {
$remaining['month'] = floor($remaining['day'] / 30);
$remaining['day'] %= 30;
$totalDays = ($remaining['month'] * 30) + $remaining['day'];
if ($remaining['month'] > 12) {
$remaining['year'] = floor($remaining['month'] / 12);
$remaining['month'] %= 12;
$totalDays = ($remaining['year'] * 365) + ($remaining['month'] * 30) + $remaining['day'];
if ($remaining['month'] == 0) {
$remaining['month'] = "";
$remaining['text']['month'] = "";
}
}
}
$elapsedDays = floor((time() - $startdate) / 86400);
$progress = min(($elapsedDays / $totalDays) * 100, 100); // Ensure progress doesn't exceed 100%
echo $progress;
}
?>Bu kod, progress çubuğunu doğru bir şekilde hesaplar ve sonucu $progress değişkeni ile döndürür. Önceki kodunuzun altındaki bu kodu kullanarak, progress değerini doğru bir şekilde hesaplayabilirsiniz. Eğer $remaining['echo'] değerini kullanmak isterseniz, yukarıdaki hesaplamaları ona göre ayarlayabilirsiniz.