如何解决SQL中的多次插入,数据库中的经常性费用插入
用户增加收入或费用。如果他将其归类为经常性交易,则他从包含(每周,每两周,每月等)的frequency_dropdown中选择。用户还输入开始日期和结束日期。
我想根据选择的频率增加日期。例如,如果我有每周,那么我想使用“修改”功能添加+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.
}
INPUT Expected and actual output
有人可以帮我解决这个问题吗?
解决方法
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import org.w3c.dom.Element;
//** */
public class SolutionXML2XmlFormat {
//Create Public Variables to store data
//**
public static String ankomstDato_value; //1
public static String[] planlagtAntallPerUndergruppe_antall_value = new String[6]; //
public static String[] planlagtAntallPerUndergruppe_kode_value = new String[6]; //
//+++
public void Xml2JavaObject(String FromThis){
//read the xml(TheXMLPath) and store values in variables
// Boolean and numbers should be having values for string use " " if empty
try {
File file = new File(FromThis);
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(file);
document.getDocumentElement().normalize();
System.out.println("Root element :" + document.getDocumentElement().getNodeName());
System.out.println("------------------------ \n");
//1 . ankomstDato
String ankomstDato = document.getElementsByTagName("ankomstDato").item(0).getTextContent();
ankomstDato_value = ankomstDato;
//end ankomstDato
NodeList planlagtAntallPerUndergruppe= document.getElementsByTagName("planlagtAntallPerUndergruppe");
for (int temp = 0; temp < planlagtAntallPerUndergruppe.getLength(); temp++) {
Node nNode = planlagtAntallPerUndergruppe.item(temp);
System.out.println("\n Current Elements :" + planlagtAntallPerUndergruppe.getLength());
System.out.println("\n No. of Element :" + temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
String element18 = eElement.getElementsByTagName("antall").item(0).getTextContent();
planlagtAntallPerUndergruppe_antall_value[temp] = element18;
String element19 = eElement.getElementsByTagName("kode").item(0).getTextContent();
planlagtAntallPerUndergruppe_kode_value[temp] = element19;
}
}
} catch (Exception e) {
e.printStackTrace();
}
//Call method to write values
Write2XMLfile();
}
public void Write2XMLfile(){
XPathFactory xpathFact = XPathFactory.newInstance();
XPath xpath = xpathFact.newXPath();
try {
//
String filepath = "E:/utils/Tothis.xml";
//
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(filepath);
// 1. ankomstDato
Node ankomstDato = (Node) xpath.evaluate("(/map/string[@key='ankomstDato'])[1]",doc,XPathConstants.NODE);
ankomstDato.setTextContent(ankomstDato_value );
// End ankomstDato
//2. planlagtAntallPerUndergruppe **************************
System.out.println("\n This is second" );
Node planlagtAntallPerUndergruppe = (Node) xpath.evaluate("/map/array[@key='planlagtAntallPerUndergruppe']/*",XPathConstants.NODE);
if(null != planlagtAntallPerUndergruppe) {
NodeList nodeList = planlagtAntallPerUndergruppe.getChildNodes();
for (int i = 0;null!=nodeList && i < nodeList.getLength(); i++) {
Node nod = nodeList.item(i);
//System.out.println("\n");
if(nod.getNodeType() == Node.ELEMENT_NODE){
NodeList arrayElements_18 = (NodeList) xpath.evaluate("/map/array[@key='planlagtAntallPerUndergruppe']/*",XPathConstants.NODESET);
//System.out.println("\n number of elements" + arrayElements_18.getLength());
for (int j = 0; j < arrayElements_18.getLength(); j++) {
//. antall
Node antall = (Node) xpath.evaluate("(/map/array/map/number[@key='antall'])[1]",XPathConstants.NODE);
antall.setTextContent(planlagtAntallPerUndergruppe_antall_value[j]);
// end antall
//. kode
Node kode = (Node) xpath.evaluate("(/map/array/map/string[@key='kode'])[1]",XPathConstants.NODE);
kode.setTextContent(planlagtAntallPerUndergruppe_kode_value[j]);
//System.out.println("\n\n antall: " + planlagtAntallPerUndergruppe_antall_value[j]);
// end kode
}
}
}
}
// end array planlagtAntallPerUndergruppe
// write the content into xml file
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(filepath));
transformer.transform(source,result);
System.out.println("Done Updating The Api_XML_Format.xml");
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (SAXException sae) {
sae.printStackTrace();
} catch (XPathExpressionException xee) {
xee.printStackTrace();
}
}
}
$ modifier = $ modifiers [$ ExpenseFrequency];
这部分需要放在[]大括号内。
应该对$ sde进行格式化,以将其插入数据库。
$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];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。