私は今ちょっと立ち往生しており、助けていただければ幸いです。「月」と「価格」の2つの列を持つMysqlテーブルがあります。つまり、1月>> 5(ユーロ)です。2月 >> 7 (ユーロ) など。ウェブサイトの予約フォームで、ユーザーは到着日と出発日を選択できます。ユーザーが 2013 年 1 月 2013 日から 2013 年 12 月 4 日までの間に月がある日付を選択した場合、その間の完全な月 (02 と 03) をどのように計算できますか?
これは、到着月と出発月の日数を計算するために必要なものです。
...
$query="SELECT * FROM pricecal";
$result=mysql_query($query);
$num=mysql_numrows($result);
$i=0;
while ($i < $num)
{
$month=mysql_result($result,$i,"month");
$price=mysql_result($result,$i,"price");
$i++;
$a = $_POST['dropToDay'];
$b = $_POST['dropToMonth'];
$c = $_POST['dropToYear'];
$d = $_POST['dropOffDay'];
$e = $_POST['dropOffMonth'];
$f = $_POST['dropOffYear'];
$days_to = (date('t',mktime(0, 0, 0, $a,(date($b) +1), date($c))) - $a +1);
$off_month_dif = (date('d-m-Y',mktime(0, 0, 0, $d,(date($e)), date($f))) - $d);
$days_off = (date('d-m-Y',mktime(0, 0, 0, $d,(date($e)), date($f))) - $off_month_dif);
$days = (date($f.$e.$d) - date($c.$b.$a));
$days_all = ($days+1);
if($b==$e AND $b==$month)
{
$b = $month;
$pricing = $days_all*$price;
echo 'Price for '.$days_all.' days is '.$pricing.' EUR.';
}
if($b == $month AND $b != $e)
{
$pricing1 = $days_to*$price;
}
if($e == $month AND $b != $e)
{
$pricing = $days_off*$price;
$pricings_all = $pricing+$pricing1;
echo 'Price for booking time: '.$pricings_all.' EUR';
}
.....