0

我正在制作一个出租脚本,但是当他们租用一个物体超过 5 天时,出现了问题。

这是它应该如何工作的:

当某人租用一个物体 1 到 5 天时,他们应该支付该天数,但是当他们租用 6 或 7 天时,他们只需要支付 5 天的费用,这适用于他们每 7 天租用一个物体。

所以 10 天将是 8 天付款

这是我已经拥有的脚本:

function bedrag($fietsnummers, $aantaldagen)
{

$fiets = explode(',', $fietsnummers);
foreach($fiets as $fiets1)
    {
        $sql2 = "SELECT * FROM `fietsen` WHERE `fietsnummer` LIKE '".$fiets1."' LIMIT 0, 30 ";
        $nummer = mysql_query($sql2)or die(mysql_error());

    while ($fietsinfo = mysql_fetch_array($nummer)) 
    {
        $nummer1 = $fietsinfo['huurprijs'];
        $bonus = intval($aantaldagen / 7);
        $aantaldagen -= 2 * $bonus;
        if($aantaldagen == "0")
        {
        $aantaldagen = "1";
        }
        $bedrag = $nummer1 * $aantaldagen;
        $amount += intval($bedrag);

    }
    }

    return $amount;


}
4

1 回答 1

0

这里是返回账单天数的函数

function billablePeriod($days){

$full_weeks = intval($days/7);
$current = $days%7;

$bonus = $full_weeks*2;
$bonus += ($current-5)>0? ($current-5) : 0;


return $days -$bonus;
}

添加并修复评论

在您的代码中:

$amount =0;
while ($fietsinfo = mysql_fetch_array($nummer)) 
{
    $amount += $fietsinfo['huurprijs'] * billablePeriod($aantaldagen);
}
于 2012-07-03T17:49:38.193 回答