0

Facebook Graph API を使用して、Facebook ユーザーのリストから性別を取得しています。私はユーザーの ID を持っています (彼らは私のアプリの現在のユーザーです)。性別には特別な権限は必要ないため、このために API を使用する必要はありません (基本情報の権限は取得済みですが)。基本的に、while ループを使用して、ユーザーがアプリを使用するときに取得した FB ID を格納している MySQL テーブルのすべての行をループ処理しています。while ループの外側で json_decode コードを実行すると、うまく機能します (ただし、明らかにテーブル内の最初のインスタンスのみを取得します)。次に、ループに入れると、ページが読み込まれません。ただ座って、永遠にロードしようとします。コードは次のとおりです。

$sql = "SELECT * FROM fb_id ORDER BY timestamp DESC";
$result = $mysqli->query($sql);                     

while($row = mysqli_fetch_array($result)){
                    $jsonurl = "https://graph.facebook.com/".$row['fb_id'];
                    $json = file_get_contents($jsonurl,0,null,null);
                    $json_output = json_decode($json);
                    $user_gender = $json_output->gender;
                    echo $user_gender;
                    }

                    while($row = mysqli_fetch_array($result)){
                    echo "<a href='http://www.facebook.com/".$row['fb_id']."' target='_blank'><img src='http://graph.facebook.com/".$row['fb_id']."/picture/' /></a>";
                    }

コードの一番上のビットが性別用であることがわかります。一番下のループは、ユーザーのプロフィール写真を表示するためのものです。その下のループは正常に機能します。

Facebook Graph の呼び出しが停止する理由はありますか? ありがとう!

4

1 に答える 1

2

一番下のループは、ユーザーのプロフィール写真を表示するためのものです。その下のループは正常に機能します。

一番下のループもそうです。

Facebook Graph の呼び出しが停止する理由はありますか?

Graph API は問題ありません。心配はいりません。

データベース クエリの結果を 1 回ループして、ユーザーの詳細を取得し、性別をエコーし​​ます。

その後、DB クエリの結果は最後になり、取得する行はなくなります。

そして、それは 2 番目のwhileループの条件がfalse最初のチェックになるため、ループの内容は 1 回も実行されません。

とにかくそこに2番目のwhileループを置いたのはなぜですか? 最初のループと同じ列の値にアクセスしているので、1 つのキーワードの後に​​両方のコード ブロックの内容を1 つのコード ブロックに入れてみませんか? while

于 2012-12-21T22:19:01.103 に答える