2011-03-29 4 views
2

내 페이지에 대해 좋아할만한 몇 가지 PHP가 있습니다. (URL은 물론, 단지 예입니다.)PHP "if"problem

$url='http://mashable.com/2011/03/25/internet-music-piracy-study/'; 
$furl = "https://api.facebook.com/method/fql.query?query=select%20total_count%20from%20link_stat%20where%20url=%27".$url."%27&format=xml"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $furl); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$fbcount = curl_exec($ch); 
curl_close($ch); 

그때 수는 I가 돌아가 0 그렇지 않으면, 내가 수를 얻는 경우에 내 페이지에 일반적인 페이스 북 아이콘을 사용하고 싶습니다. 기본적으로 사람들이 페이지를 좋아하지 않는다면 나는 큰 뚱뚱한 제로를 원하지 않습니다.

<div class="burst-fb"><span><?php if ($fbcount < 1) {echo 'logo stuff';} else {echo $fbcount;}?></span></div> 

문제는 잘 작동하지 않습니다. 나는 여기서 기본적인 것을 배울 것임을 알고있다. PHP 설명서에서

+0

당신은 그것의 반환 값이 무엇인지 볼 수있는'$ fbcount' 변수를 echo'd 적이 있습니까? – Prisoner

+0

어떤 오류가 있습니까? PHP 용 curl 모듈을 설치 했습니까? –

답변

0

페이스 북 API의 응답 (및 그 이유는 $ fbcount에있는 것)은 숫자가 아닌 XML 문자열입니다. 응답을 구문 분석해야합니다. 죄송합니다 ;). simpleXML을 살펴보십시오. 편집 : 브라우저에 URL (https://api.facebook.com/method/fql.query?query=select%20total_count%20from%20link_stat%20where%20url=%27http://mashable.com/2011/03/25/internet-music-piracy-study/%27&format=xml)을 복사하여 붙여 넣으면 받게 될 내용을 확인할 수 있습니다. 다음은 브라우저에 나타납니다 :

<fql_query_response list="true"> 
    <link_stat> 
     <total_count>213</total_count> 
    </link_stat> 
</fql_query_response> 
+0

빙고. 그것은 트릭을했다. 나는 출처를 보지 않고 단지 내가 번호를 얻는 것을 보았다. 그래서 ...'$ xml = simplexml_load_string ($ data); $ fbcount = $ xml-> link_stat [0] -> total_count; print $ fbcount; ' –

+0

도와 드리겠습니다. :) – user578368

3

:

Returns TRUE on success or FALSE on failure. 
However, if the CURLOPT_RETURNTRANSFER option is set, 
it will return the result on success, FALSE on failure. 

그래서, === 사용 FALSE를 확인하고 == 연산자 및 당신이 제로에 관심이 있다면 또한, 제로 1을 확인하세요!.

var_dump를 사용하여 $ fbcount에 실제로 포함 된 내용을 볼 수도 있습니다.

1

내용물을 보려면 $fbcount의 내용을보십시오. 번호가 아닌 경우 조건문이 작동하지 않습니다.

var_dump($fbcount); 

그것은 당신이 당신의 컬 작업을 디버깅하는 데 사용할 수있는 오류를 포함 할 수 curl_close($ch); 후이 권리를보십시오.

+0

나는 다음을 얻는다 : string (247) "0" –