1

私は自分の質問に対する答えを見つけられませんでしたし、誰かがこの特定の質問をするのを見たことがありません。JavaScriptを介してラインアイテムを動的に追加し、配列内の各ラインアイテムのすべてのデータをキャプチャして、データをmysqlデータベースに投稿できるphp発注書があります。私が問題を抱えている唯一のフィールドは、日付による必須です。

私は通常、mysqlに保存する目的で01/01/01などの日付を2001-01-01に変換するためにdate(strtotime())を使用しますが、この日付を適切にキャプチャして、適切な日時文字列に再フォーマットしてから、配列を反復処理して、他のデータを投稿します。

急いで、変数を宣言してdate( "Ymd"、strtotimeを割り当てるとともに、INSERTクエリ内にdate( "Ymd"、strtotime($ Item_Date [$ a]))を入れるなど、さまざまなアプローチを試しました。 ($ 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++;
}

どんな援助でも大歓迎です。

4

1 に答える 1

1

OK皆さん、助けてくれてありがとう。配列内のデータが適切に処理されていないか、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++;
}
于 2012-06-26T20:48:59.093 に答える