Php 循环运行直到满足条件,但insert语句只使用一次

Php 循环运行直到满足条件,但insert语句只使用一次,php,sql,Php,Sql,我正在尝试创建一个费用管理系统,如果用户选择每日、每周、每月等频率,我将能够安排未来的费用 为了实现这一点,我创建了一个循环,但是在上面的代码中,我的循环运行,并且$sde会根据需要进行响应,但是我的insert语句只运行一次。我想为每个更新的日期运行insert语句 $sde=$arr['startdateexpense']; $ede=$arr['enddateexpense']; $modifiers=[ "Annually"=>"+1 year&quo

我正在尝试创建一个费用管理系统,如果用户选择每日、每周、每月等频率,我将能够安排未来的费用

为了实现这一点,我创建了一个循环,但是在上面的代码中,我的循环运行,并且$sde会根据需要进行响应,但是我的insert语句只运行一次。我想为每个更新的日期运行insert语句

$sde=$arr['startdateexpense'];
$ede=$arr['enddateexpense'];
$modifiers=[
"Annually"=>"+1 year",
"Daily"=>"+1 day",
"Weekly"=>"+1 week",
"Fort-nightly"=>"+2 weeks",
"Monthly"=>"+1 month",
"Quarterly"=>"+4 months",
"Semi-Annually"=>"+6 months",
                ];
while($sde <= $ede){
echo $sde , ' ';
$modifier= $modifiers[$ExpenseFrequency];
$sde = new DateTime($sde);
$sde->modify($modifier);
$sde= $sde->format('Y-m-d');                
//Insert statement
$sql = "INSERT INTO expense (ExpenseDate, ExpenseCategoryName, ExpenseItem, ExpenseCost, Image, ExpenseDescription) VALUE ('".$sde."','".$ExpenseCategoryID."', '".$item."', 
             '".$costitem."', '".$tphoto."', '".$description."')";
    }
$sde=$arr['startdateexpense'];
$ede=$arr['enddateexpense'];
$modifiers=[
“每年”=>“+1年”,
“每日”=>“+1天”,
“每周”=>“+1周”,
“堡夜”=>“+2周”,
“每月”=>“+1个月”,
“季度”=>“+4个月”,
“每半年”=>“+6个月”,
];
while($sde modify($modifier);
$sde=$sde->格式('Y-m-d');
//插入语句
$sql=“插入费用(ExpenseDate、ExpenseCategoryName、ExpenseItem、ExpenseCost、Image、ExpenseDescription)值(“$sde.”、“$ExpenseCategoryID.”、“$item.”,
“$costitem.”、“$tphoto.”、“$description.”);
}
My$sde每次都会更新,但唯一的问题是insert语句


有人能帮我吗?

如果在循环中不断设置
$sql
,它将以最后一次迭代的值结束

需要收集一组值,然后插入。还有它的
不是

$values = array();

while($sde <= $ede){
    echo $sde , ' ';
    $modifier= $modifiers[$ExpenseFrequency];
    $sde = new DateTime($sde);
    $sde->modify($modifier);
    $sde= $sde->format('Y-m-d');                
    //Insert statement
    $values[] = "('".$sde."','".$ExpenseCategoryID."', '".$item."', '".$costitem."', '".$tphoto."', '".$description."')";
}

$sql = "INSERT INTO expense (ExpenseDate, ExpenseCategoryName, ExpenseItem, ExpenseCost, Image, ExpenseDescription) VALUES " . join(', ', $values);
$values=array();
while($sde modify($modifier);
$sde=$sde->格式('Y-m-d');
//插入语句
$values[]=“(“$sde.”、“$ExpenseCategoryID.”、“$item.”、“$costitem.”、“$tphoto.”、“$description.”);
}
$sql=“插入到费用(ExpenseDate、ExpenseCategoryName、ExpenseItem、ExpenseCost、Image、ExpenseDescription)值中”。加入(',',$值);

请告诉我们您要多次运行的insert语句。我现在添加了insert语句。
VALUE
应该是
VALUES
谢谢。非常感谢,先生。非常感谢。