为了账号安全,请及时绑定邮箱和手机立即绑定

SQL 中的多次插入,数据库中的经常性费用插入

SQL 中的多次插入,数据库中的经常性费用插入

PHP
温温酱 2023-12-15 15:18:50
用户添加收入或支出。如果他将其归类为经常性交易,他会从包含(每周、每两周、每月等)的频率下拉列表中进行选择。用户还输入开始日期和结束日期。我想根据所选的频率进行迄今为止的增量。例如,如果我有每周,那么我想使用“修改”添加 +1 周。函数,但该函数没有对日期进行任何修改,并且陷入连续的 if 循环中。我的第一个查询成功并将数据插入数据库中,但循环内的查询不起作用,因为日期没有按照所选频率增加。  //db query is done here.  $sde=$_POST['startdateexpense'];  $ede=$_POST['enddateexpense'];  $dt = new DateTime(str_replace("-", "/", $sde));  $dtUntil = new DateTime(str_replace("-", "/", $ede ? $ede : date("m-d-Y")));              $modifiers=[    "Annually"=>"+1 year",    "Daily"=>"+1 day",    "Weekly"=>"+1 week",    "Fort-nightly"=>"+2 weeks",    "Monthly"=>"+1 month",    "Quarterly"=>"+4 months",    "Semi-Annually"=>"+6 months",    "Annually"=>"+1 year"  ];  $modifier=$modifiers[$ExpenseFrequency];  $dt->modify($modifier);   if($dt <= $dtUntil){    $dt->modify($modifier);    //db query is done here.    }输入 预期输出和实际输出谁能帮我解决这个问题吗?
查看完整描述

1 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

$modifiers=[

    "Annually"=>"+1 year",

    "Daily"=>"+1 day",

    "Weekly"=>"+1 week",

    "Fort-nightly"=>"+2 weeks",

    "Monthly"=>"+1 month",

    "Quarterly"=>"+4 months",

    "Semi-Annually"=>"+6 months",

    

  ];

  

  //$dt->modify($modifier); 

  if($sde <= $ede){

    $modifier= $modifiers[$ExpenseFrequency];

$modifier= $modifiers[$ExpenseFrequency];


这部分需要位于带有 [ ] 大括号的内部循环中。


应将 $sde 格式化以将其插入数据库。


    

    $sde = new DateTime($sde);

    $sde->modify($modifier);

    $sde= $sde->format('Y-m-d');

    echo $sde;

    $query=mysqli_query($con, "insert into expense(ExpenseDate,ExpenseItem,ExpenseCost,ExpenseCategoryName,Image) value('$sde','$item','$costitem','$ExpenseCategoryID','$image')");



查看完整回答
反对 回复 2023-12-15
  • 1 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信