2012-06-22 4 views
1

내 질문에 대한 답변을 찾지 못했고이 특정 질문을 한 사람이 없습니다. 나는 동적으로 자바 스크립트를 통해 광고 항목을 추가하고 배열의 각 광고 항목에 대한 모든 데이터를 캡처하고 데이터를 MySQL 데이터베이스에 게시 할 수있는 php 구매 주문 양식을 가지고 있습니다. 문제가있는 유일한 필드는 날짜별로 필요합니다.php mysql 날짜 배열이

나는 일반적으로 01/01/01과 2001-01-01 같은 날짜를 mysql에 저장하기 위해 date (strtotime())를 사용하지만이 날짜를 올바르게 캡처하지 못하고 적절한 datetime 문자열을 입력 한 다음 내 배열을 반복하여 내 다른 데이터로 게시하십시오.

필자는 급하게 여러 INSERT 쿼리에 날짜 ("Ymd", strtotime ($ Item_Date [$ a]))를 넣고 변수를 선언하고 날짜를 " Ymd ", strtotime ($ Item_Date [$ a])) 내 foreach 루프를 통과 할 때마다 해당 값이 재 할당됩니다. 언급 된 각 시도의 예가 아래에 요약되어 있습니다.

예 어떤 도움이 많이 주시면 감사하겠습니다 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++; 
} 

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

예.

+0

당신이 확인할 수있는 경우 $ Item_Date [$ A] 형태 "이다 01/01/01 "? 또한 당신은 어떤 mysql 오류를 볼 수 있습니까? 그렇다면 무엇입니까? –

+0

mysql 오류가 없습니다. 2012 년 5 월 31 일을 입력하고 화면에 2012-05-31을 그대로 표시 할 수 있습니다. 그러나 내 날짜는 mysql에 0000-00-00으로 게시됩니다. 2012 년 5 월 31 일을 입력하면 2012-05-31이 화면에 표시되지만 0000-00-00에 게시됩니다. 2012-05-31에 입력하면 2012-05-31과 2012-05-31에 반영됩니다. 배열의 날짜 변환에서 잃어버린 무언가가 있다고 생각했습니다. – user1459766

+0

그냥 뭔가 다른 것으로 나타났습니다 ... 내 자바 스크립트에서 행을 추가 한 2012-05-31 에코의 입력 날짜 1970-01-01 및 게시물 0000-00-00. 사실 에코와 포스트는 모든 포맷에서 동일합니다. 어레이가 제대로 작성되지 않은 것처럼 보입니다. 아직도 내 질문의 핵심을 다루지는 않지만 더 많은 일이있을 수 있습니다. – user1459766

답변

1

여러분 모두 도와 주셔서 감사합니다. 배열 내의 데이터가 제대로 처리되지 않았거나 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++; 
}