api 데이터를 주기적으로 db에 저장 및 업데이트 2번째 질문입니다.
본문
@유진아빠님 도움으로 아래 코드 업데이트는 되는데, 문제는 단발성이 아닌 주기적 업데이트 하려고 합니다.
아래 실행하면, 마지막 레코드인 C만 실행되어요. A와 B도 불러와 업데이트하려면 어떻게 수정해야 하나요?
<?php
$mydata = array(
'A' => array ( 'D' => 1 ),
'B' => array ( 'D' => 2 ),
'C' => array ( 'D' => 2 )
);
// ok now hit the api...
$basePublicAPI = 'https://api';
$Data = file_get_contents($basePublicAPI);
$Data = json_decode($Data, true);
$numbases = sizeof ($Data);
$portfolioValue = 0;
for ( $xx=0; $xx<$numbases; $xx++) {
$thisname = $Data[$xx]['name'];
$Held = array_key_exists($thisname, $mydata);
if ( !$Held ) { continue; }
$sql = " update g5_data
set no = '"."$Data[$xx]['no']."',
name = '".$Data[$xx]['name']."' ";
sql_query($sql);
}
?>
답변 2
일단 print_r($Data); 하셔서
데어터가 몇개가 오는지 부터 확인하셔야 할듯합니다.
if ( !$Held ) { continue; }
$sql = "truncate g5_data";
sql_query($sql);
$sql = " insert into g5_data
set no = '"."$Data[$xx]['no']."',
name = '".$Data[$xx]['name']."' ";
sql_query($sql);
}
답변을 작성하시기 전에 로그인 해주세요.