2012-11-15 2 views
0

나는 PHP와 자바 스크립트 초보자이므로 미친 사람은 아닙니다. 좋아, 그래서 다른 서버에서 xml 파일을 얻고 싶습니다 그리고 하나의 데이터 (번호) 추출하고 자바 스크립트 변수에 넣어 그래서 내가 계산할 수 있습니다.xml 데이터 (PHP 및 자바 스크립트)

xml 파일을 올바르게 가져올 수있는 코드가 있는데 필요한 $ 결과 변수가 필요하지만 javascript 변수에 해당 데이터를 저장할 수 없습니다. 자바 스크립트에서이 숫자가 필요한 이유는 모든 계산이 자바 스크립트로되어 있기 때문입니다. 그 숫자 7,480000 내가 추출하고 자바 스크립트 변수에 저장하는 데 필요한 모든 것입니다 EUR7,480000

에서

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 
'http://www.pbz.hr/Downloads/PBZteclist.xml'); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$xml = curl_exec($ch); 

echo($xml); 

curl_close($ch); 

$xmlObject = new SimpleXMLElement($xml); 
$node = $xmlObject->children(); 
$result = $node[0]->Currency[12]->BuyRateForeign; 
echo("<br />"); 
echo("<br />"); 
echo $result; 
?> 

내가 필요한 데이터 :

이 PHP 코드입니다.

어쩌면 내가이 일을하는 방식이 옳지 않을 수도 있지만 모든 것을 해봤습니다. 도와주세요.

답변

0

주문이 변경된 경우를 대비하여 xpath를 사용하여 값을 얻는 것이 좋습니다. 문자열로 사용하려면 따옴표로 묶습니다. 계산에 사용하는 경우 쉼표 등을 제거해야 할 수도 있습니다.

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 
'http://www.pbz.hr/Downloads/PBZteclist.xml'); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$xml = curl_exec($ch); 
curl_close($ch); 

//echo($xml); 

$sxe = new SimpleXMLElement($xml); 

$result = $sxe->xpath("//Currency[@Code='978']"); 
$BRF = $result[0]->BuyRateForeign; 
?> 
<script> 
    var bfr_string = '<?= $BRF?>'; //string 
    var bfr_number = <?= str_replace(',','.',$BRF)?>; //number 
</script> 
+0

이것은 내가 필요한 것입니다. Everithing 잘 작동합니다. 감사 – user1817666

0

는 Ajax를 사용하여이 작업을 수행 할 의도가없는 가정 :

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://www.pbz.hr/Downloads/PBZteclist.xml'); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$xml = curl_exec($ch); 

echo($xml); 

curl_close($ch); 

$xmlObject = new SimpleXMLElement($xml); 
$node = $xmlObject->children(); 
$result = $node[0]->Currency[12]->BuyRateForeign; 
?> 
<script type="text/javascript"> 
    var rate = '<?php echo $result; ?>'; 
</script>  
0

당신은 데이터가, 당신은 변수를 시작하는 자바 스크립트 문자열을 반향 PHP를 사용하여 페이지로드에 자바 스크립트 설정하려면 . 당신이 데이터를 가져 오는 경우

<script> 
<?php echo "var data = ".$result; ?> 
</script> 

비동기 적 당신이 형식의 일종 (JSON)에 데이터를 출력하는 PHP 페이지 또는 단지 하나를 호출하는 자바 스크립트 AJAX를 사용해야합니다 : PHP에서

문자열 값.