我没有找到我的问题的答案,也没有看到有人问这个特定的问题。我有一个 php 采购订单表单,我在其中通过 javascript 动态添加行项目,并且能够捕获数组中每个行项目的所有数据并将数据发布到 mysql 数据库。我唯一遇到问题的字段是按日期要求。
我通常使用 date(strtotime()) 将诸如 01/01/01 之类的日期转换为 2001-01-01 以便存储在 mysql 中,但是我无法正确捕获此日期,重新格式化为适当的日期时间字符串,然后通过遍历我的数组与我的其他数据一起发布。
在我的匆忙中,我尝试了许多不同的方法,例如将 date("Ymd",strtotime($Item_Date[$a])) 放在我的 INSERT 查询中,同时声明一个变量并分配 date("Ymd",strtotime ($Item_Date[$a])) 考虑到每次通过我的 foreach 循环时都会重新分配该值。下文概述了每个提及的尝试的示例。
例 1
foreach($Cust_PN as $a => $b) {
$query1 = "INSERT INTO SO_Items (Timestamp,SO_Num,SO_Rev,SO_Line_Item,Cust_PN,Cust_PN_Rev,E3_PN,E3_PN_Rev,Description,
Qty,Sale_Price,UOM,Program,Required_Date)
SELECT NOW(),'$SO_Num','$SO_Rev','$i','$Cust_PN[$a]','$Cust_PN_Rev[$a]','$PN[$a]','$PN_Rev[$a]','$Description[$a]','$Qty[$a]','$Sale_Price[$a]','$UOM[$a]','$Program[$a]','date("Y-m-d", strtotime($Item_Date[$a]))'" or die ('Error posting data');
mysql_query($query1);
$i++;
}
例 2
foreach($Cust_PN as $a => $b) {
$query1 = "INSERT INTO SO_Items (Timestamp,SO_Num,SO_Rev,SO_Line_Item,Cust_PN,Cust_PN_Rev,E3_PN,E3_PN_Rev,Description,
Qty,Sale_Price,UOM,Program,Required_Date)
SELECT NOW(),'$SO_Num','$SO_Rev','$i','$Cust_PN[$a]','$Cust_PN_Rev[$a]','$PN[$a]','$PN_Rev[$a]','$Description[$a]','$Qty[$a]','$Sale_Price[$a]','$UOM[$a]','$Program[$a]','$Item_Date[$a]'" or die ('Error posting data');
$Item_Date = date("Y-m-d", strtotime($Item_Date[$a]));
mysql_query($query1);
$i++;
}
任何帮助将不胜感激。