PHP "если" проблема - PullRequest
       6

PHP "если" проблема

2 голосов
/ 29 марта 2011

У меня есть некоторый PHP, который будет собирать аналогичные и делиться счетчиками для моей страницы.(Конечно, это всего лишь пример.)

$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);

Затем я хочу использовать общий значок facebook на моей странице, если число, которое я получаю, равно 0. В противном случае я получу номер.В принципе, я не хочу большой жирный ноль, если людям не нравится страница.

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

Проблема в том, что она не работает.Я знаю, что здесь должно быть что-то простое, что я пропускаю.

Ответы [ 3 ]

3 голосов
/ 29 марта 2011

Из руководства по PHP:

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 голос
/ 29 марта 2011

Попробуйте посмотреть на содержимое $fbcount, чтобы увидеть, что в нем содержится.если это не число, то ваша условная инструкция не будет работать.

var_dump($fbcount);

Попробуйте это сразу после curl_close($ch); Может содержать ошибку, которую вы можете использовать для отладки вашей операции curl.

0 голосов
/ 29 марта 2011

Ответ от API Facebook (и поэтому от $ 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...