2012-08-25 5 views
0

PayPal 계정에 대한 트랜잭션 정보를 얻으려고합니다.이 작업은 성공적으로 수행되었지만, 이렇게 오래 걸릴 수 있습니다. 자세한 내용은 MySQL 데이터베이스에 있습니다. 몇 가지 시도했습니다 foreach하지만 분명히 뭔가 잘못하고 있어요. PHP는 페이팔에서 mysql 배열을 삽입합니다.

은 분명히 충분히 내가 배열

[L_TIMESTAMP0] 
[L_TIMESTAMP1] 
[L_TIMESTAMP2] 

로 구성되며,이 얼마나 이제까지 많은 세트에 대해 계속 생각

TransactionSearch Completed Successfully: Array (
    [L_TIMESTAMP0] => 2012%2d08%2d14T18%3a46%3a00Z 
    [L_TIMESTAMP1] => 2012%2d08%2d14T18%3a45%3a32Z 
    [L_TIMESTAMP2] => 2012%2d08%2d13T01%3a45%3a48Z 
    [L_TIMESTAMP3] => 2012%2d08%2d13T01%3a34%3a12Z 
    [L_TIMEZONE0] => GMT 
    [L_TIMEZONE1] => GMT 
    [L_TIMEZONE2] => GMT 
    [L_TIMEZONE3] => GMT 
    [L_TYPE0] => Payment 
    [L_TYPE1] => Payment 
    [L_TYPE2] => Payment 
    [L_TYPE3] => Transfer 
    [L_EMAIL0] => pmd_1333866_per%40yahoo%2ecom 
    [L_EMAIL1] => pmd_1333866_per%40yahoo%2ecom 
    [L_EMAIL2] => pmd_1333866_per%40yahoo%2ecom 
    [L_NAME0] => Joshua%20O 
    [L_NAME1] => Joshua%20O 
    [L_NAME2] => Joshua%20O 
    [L_NAME3] => PayPal 
    [L_TRANSACTIONID0] => 58289472YK615973G 
    [L_TRANSACTIONID1] => 4U113116FL1819900 
    [L_TRANSACTIONID2] => 2X978155KR373471P 
    [L_TRANSACTIONID3] => 3TH38971MF599302V 
    [L_STATUS0] => Completed 
    [L_STATUS1] => Completed 
    [L_STATUS2] => Completed 
    [L_STATUS3] => Completed 
    [L_AMT0] => %2d100%2e00 
    [L_AMT1] => %2d50%2e00 
    [L_AMT2] => %2d200%2e00 
    [L_AMT3] => 2000%2e00 
    [L_CURRENCYCODE0] => USD 
    [L_CURRENCYCODE1] => USD 
    [L_CURRENCYCODE2] => USD 
    [L_CURRENCYCODE3] => USD 
    [L_FEEAMT0] => 0%2e00 
    [L_FEEAMT1] => 0%2e00 
    [L_FEEAMT2] => 0%2e00 
    [L_FEEAMT3] => 0%2e00 
    [L_NETAMT0] => %2d100%2e00 
    [L_NETAMT1] => %2d50%2e00 
    [L_NETAMT2] => %2d200%2e00 
    [L_NETAMT3] => 2000%2e00 
    [TIMESTAMP] => 2012%2d08%2d25T17%3a59%3a01Z 
    [CORRELATIONID] => bf5b1a824d937 
    [ACK] => Success 
    [VERSION] => 51%2e0 
    [BUILD] => 3435050 
) 

($httpParsedResponse로 저장) 성공적으로 요청 후 PayPal에서 리스폰스이다 거래 세부 정보는 타임 스탬프, 시간대, 유형, 전자 메일 등 각 집합에 대해 ...

이 경우 3 가지 거래 세부 사항을 반복하지만 하나의 거래 만 또는 100 건이 넘는 루프가 있어야하는 모든 솔루션이 필요합니다.

내가 말한 유일한 목표는 PayPal에서 반환 된 배열을 가져 와서 MySQL 데이터베이스.

나는 이것이 의미가 있기를 바랍니다. 어떤 도움이라도 대단히 감사하겠습니다! 감사!

임 미안해 내 오래된 질문을 편집해야만 했어. 어쨌든 코드가 좀 더 잘 짜여진 것 같아. 지금은 내가받는 반응이야. 삽입하는 방법에 대해 혼란스러워. MySQL 데이터베이스의 상점으로 ...

Array ([0] => Array ([timestamp] => 2012%2d08%2d14T18%3a46%3a00Z 
[timezone] => GMT 
[type] => Payment 
[email] => pmd_1333866_per%40yahoo%2ecom 
[name] => Joshua%20O 
[transactionid] => 58289472YK615973G 
[status] => Completed 
[amt] => %2d100%2e00 
[feeamt] => 0%2e00 
[netamt] => %2d100%2e00) 

[1] => Array ([timestamp] => 2012%2d08%2d14T18%3a45%3a32Z 
[timezone] => GMT 
[type] => Payment 
[email] => pmd_1333866_per%40yahoo%2ecom 
[name] => Joshua%20O 
[transactionid] => 4U113116FL1819900 
[status] => Completed 
[amt] => %2d50%2e00 
[feeamt] => 0%2e00 
[netamt] => %2d50%2e00) 

[2] => Array ([timestamp] => 2012%2d08%2d13T01%3a45%3a48Z 
[timezone] => GMT 
[type] => Payment 
[email] => pmd_1333866_per%40yahoo%2ecom 
[name] => Joshua%20O 
[transactionid] => 2X978155KR373471P 
[status] => Completed 
[amt] => %2d200%2e00 
[feeamt] => 0%2e00 
[netamt] => %2d200%2e00) 

[3] => Array ([timestamp] => 2012%2d08%2d13T01%3a34%3a12Z 
[timezone] => GMT 
[type] => Transfer 
[email] => 
[name] => PayPal 
[transactionid] => 3TH38971MF599302V 
[status] => Completed 
[amt] => 2000%2e00 
[feeamt] => 0%2e00 
[netamt] => 2000%2e00)) 
+0

어쩌면 $ httpParsedResponse 문자열이 아닌 배열입니다? 그것의 var_dump 시도 – Strae

답변

0

두 가지 아이디어가 있습니다 :

$numOfTransactions=intval((count($response)-5)/11);

(5) 값의 수는 각 트랜잭션에 대해 중복되지와 (11)는 각각의 값의 수입니다 트랜잭션. 이것은 신뢰할 수있는 구조에 달려 있습니다.

또는

$numOfTransactions=0; 
foreach ($response as $key=>$value){ 
$check=strpos($key,'L_TIMESTAMP'); 
if ($check===false) break; 
$numOfTransactions++; 
} 

그럼 당신은 응답을 통해 루프가 데이터 구조에 있습니다

for ($i=0;$i<$numOfTransactions;$i++){ 
$data[$i]=array("timestamp"=>$response['L_TIMESTAMP'.$i],"timezone"=>$response['L_TIMEZONE'.$i]...); 
} 
관련 문제