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 に答える