2

PHP / FACEBOOKのFQL

ここまで読んでいただきありがとうございます。

私はいくつかの深刻な初期の問題を抱えています。夢のようなスタイルで夢を見ています。

友人が最後に訪れた 3 つの場所を取得するためにマルチクエリを実行しています。location_post テーブルから [timestamp] を表示し、次に page テーブルから場所の [name] を表示する必要があります。したがって、マルチクエリ。

今、print_rでチェックするとすべての値を取得します。ただし、それをエコーし​​ようとすると、配列に入るのに深刻な問題が発生しています。

$query = array(
        "theVisit"=>"SELECT page_id, timestamp 
                     FROM location_post 
                     WHERE author_uid=XXXXXXXX LIMIT 3",

        "thePlace"=>"SELECT name 
                     FROM page 
                     WHERE page_id IN (SELECT page_id FROM #theVisit) 
                     LIMIT 3"
);

$fql_url = $facebook->api(array(
    'method' => 'fql.multiquery',
    'queries' => $query
));

ここまでは順調ですね。今、私は配列に入ろうとしています。

echo $fql_url[0]["name"]["fql_result_set"];

これはちょうどこれを印刷します: t

(文字 t のみ)

これを行う場合も同じです:

echo $fql_url[0]["name"][0];
// Prints: t    

私はそれを理解することができません。データを取得するために何千ものバリエーションを試しましたが、取得できません。

fql_result_set は明らかな悪役のようです。

$fql_url[0]["name"]["theVisit"][0]["page_id"] などですが、その後のコードで発生するすべてを強制終了します。

以下は、print_rから取得した配列です

Array ( 
  [0] => Array ( 
         [name] => theVisit [fql_result_set] => Array ( 
                            [0] => Array ( 
                                                       [page_id] => 6205957466 
                                                       [timestamp] => 1349138499 
                                                       ) 
                                                ) 
         )

   [1] => Array ( 
          [name] => thePlace [fql_result_set] => Array ( 
                                                 [0] => Array ( 
                                                       [name] => Best Buy Theater 
                                                       ) 
                                                 ) 
                 ) 

)
4

1 に答える 1

0

まあ、私は少し遅れていました。

[fql_result_set] は明らかに ["theVisit"] 内にネストされていません。

私はこれに気づき、このように必要なものを簡単にエコーできます

 echo $fql_url[0]["fql_result_set"][0]["name"];

これにより、正しい page_id (6205957466) が出力されます。

于 2012-10-11T23:26:44.047 に答える