php mysql - 我的代码不会更新将从所选日期开始的日期
php mysql - my code does not update the date which will start from the chosen date
我有一个代码,该代码将从所选日期开始,以客户希望支付的金额范围结束。
给出的示例:Amount to pay ($amt) = 70
、minimum payable ($min) = 35
、$id =2
和$start_date = 2015-03-03
$duration = $amt / $min;
$start_date = strtotime('2015-03-03');
for($i=1; $i <= $duration; $i++)
{
$start_date = strtotime('+1 day',$start_date);
$sdate = date("Y-m-d",$start_date);
mysql_query("UPDATE ledger SET status = 'Paid' where id = '2' and start_date = '$sdate' ");
}
上面的代码将 运行 但日期 2015-03-04
和 2015-03-05
将被标记为 Paid
并且不会从日期 2015-03-03
开始直到 2015-03-04
。相反,它会跳到下一个日期。我只希望 start_date 首先被标记为 Paid
。如果我的代码不符合我的需要,请修改我的代码 运行。非常感谢。
您正在添加一天,然后才更新状态。因此,您获得日期 2015-03-03,添加一天并标记为已支付,然后再次添加日期并再次按已支付方式停车。
只需按正确的顺序排列行
for($i=1; $i <= $duration; $i++)
{
$sdate = date("Y-m-d",$start_date);
mysql_query("UPDATE ledger SET status = 'Paid' where id = '2' and start_date = '$sdate' ");
$start_date = strtotime('+1 day',$start_date);
}
我有一个代码,该代码将从所选日期开始,以客户希望支付的金额范围结束。
给出的示例:Amount to pay ($amt) = 70
、minimum payable ($min) = 35
、$id =2
和$start_date = 2015-03-03
$duration = $amt / $min;
$start_date = strtotime('2015-03-03');
for($i=1; $i <= $duration; $i++)
{
$start_date = strtotime('+1 day',$start_date);
$sdate = date("Y-m-d",$start_date);
mysql_query("UPDATE ledger SET status = 'Paid' where id = '2' and start_date = '$sdate' ");
}
上面的代码将 运行 但日期 2015-03-04
和 2015-03-05
将被标记为 Paid
并且不会从日期 2015-03-03
开始直到 2015-03-04
。相反,它会跳到下一个日期。我只希望 start_date 首先被标记为 Paid
。如果我的代码不符合我的需要,请修改我的代码 运行。非常感谢。
您正在添加一天,然后才更新状态。因此,您获得日期 2015-03-03,添加一天并标记为已支付,然后再次添加日期并再次按已支付方式停车。 只需按正确的顺序排列行
for($i=1; $i <= $duration; $i++)
{
$sdate = date("Y-m-d",$start_date);
mysql_query("UPDATE ledger SET status = 'Paid' where id = '2' and start_date = '$sdate' ");
$start_date = strtotime('+1 day',$start_date);
}