作为日期时间发布的日期的 php mysql 数组

标签 php mysql arrays datetime strtotime

我没有找到问题的答案,也没有看到有人问过这个特定问题。我有一个 php 采购订单表单,我在其中通过 javascript 动态添加订单项,并且能够捕获数组中每个订单项的所有数据并将数据发布到 mysql 数据库。我遇到的唯一问题是按日期要求。

我通常使用 date(strtotime()) 将诸如 01/01/01 之类的日期转换为 2001-01-01 以便存储在 mysql 中,但是我无法正确捕获此日期,重新格式化为适当的日期时间字符串,然后通过遍历我的数组与我的其他数据一起发布。

在我的匆忙中,我尝试了多种不同的方法,例如将 date("Y-m-d",strtotime($Item_Date[$a])) 放入我的 INSERT 查询中,同时声明一个变量并分配 date("Y-m-d ",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++;
}

如有任何帮助,我们将不胜感激。

最佳答案

好的,谢谢大家的帮助。我怀疑数组中的数据要么没有得到正确处理,要么在 foreach 循环中被删除了。以下调整使世界发生了翻天覆地的变化:

代替:

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++;
}

我用过:

foreach($Cust_PN as $a => $b) {

$Item_Date[$a] = date("Y-m-d", strtotime($Item_Date[$a]));

$query1 = "INSERT INTO SO_Items (Timestamp,SO_Num,SO_Rev,SO_Line_Item,Cust_PN,Cust_PN_Rev,PN,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');


mysql_query($query1);
$i++;
}

关于作为日期时间发布的日期的 php mysql 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11150173/

相关文章:

java - 用户 'user' @'localhost' 的 MySQL 访问被拒绝(使用密码 : yes) "openshift"

javascript - 将类添加到具有多个数据属性的多个元素

c++ - 给二维数组分配内存时 `new int*[rowCount];`是什么意思?二维数组是指向数组的指针数组吗?

php - 如何创建n级(多级、级联)依赖下拉列表(选择、选项)?

python - 如何在 SQLalchemy 中连接同一个表并计算数据

PHP 发布 SQL 命令只会创建和删除表

c# - MySQL 查询多个表的搜索过滤器

将字符串复制到结构体数组的元素

javascript - 有没有一种方法可以从多个 SQL 表中提取一个 DataTables 表?

php - 使用 HHVM 和 Laravel 来自 SQS 的空消息