0

Facebook Open Graph を使用して、管理しているページに関する情報を次のように取得しています。

$user_profile_accounts = $facebook->api('/me/accounts','GET');
foreach ($user_profile_accounts['data'] as $account) {
...
}

その後、受信した情報をjquery.ddを使用して選択ドロップダウンに入力したいと思います。通常、foreach 内で使用すると、次のような選択が作成されます。

<select name="accmenu" id="accmenu">
    <option data-description="<?php echo $account['category'] ?>" data-image="https://graph.facebook.com/<?php echo $account['id']; ?>/picture" value="<?php echo $account['id'] ?>"><?php echo $account['name'] ?></options>
</select>

ループ内にあるため、アカウントごとに。これは私が望むものではありません。代わりに、すべてのアカウントを含むドロップダウンが望ましい結果です。select を foreach の外に置くと、受け取ったデータをどのように反復処理するのですか? データ:

{
  "data": [
    {
      "category": "Artist",
      "name": "Alexandra Dinu Official",
      "access_token": "BAAIGQYZBqjIABAPu8IEsuBqFVegB1ZCto61tvMIPVzUZC4JITosIHEr6dSHvYLsehcDYsCuBqlw13KepOsq1Eq1EDVqc0DFPm5sktlkjfZC8qoZAvQKyKxBdnVc2ihmBiu7nPYZC1oYznmcgm21iPCMrFTbO2OX6Vu5nSIZBvsaxTYWiyWISVixU0mTBmmi76DC8JV5FQRbZBzY7x2FRFsgQ5pZCrPStC06ZB3WhoSZBHZAZAMzs88norJYfH",
      "id": "116376655202954",
      "perms": [
        "ADMINISTER",
        "EDIT_PROFILE",
        "CREATE_CONTENT",
        "MODERATE_CONTENT",
        "CREATE_ADS",
        "BASIC_ADMIN"
      ]
    },
    {
      "category": "Fictional character",
      "name": "Potato Pete",
      "access_token": "BAAIGQYZBqjIABAKk4mM2jkVMk2miMjHkUWjZC75UDNnEPUZBNWz4ZBN3FqXbmKZAGSTyocAUzmehdIgUVSuRbr6rOg9Bq28rfsITrNT1kM7fcYFBfMA1yC9bG7c3JvaIZCgkQeXwVHx5pRJw1NFnCTOcFEmpAVlFOsAE2fy28k7zHpAky3wDQjsWD6KLEkqi0C44ZAhR3QQILCaFM9BwVn7Vpau2WUnbRHrZAjf4RofGUYEb9frEX3v1",
      "id": "497232410336701",
      "perms": [
        "ADMINISTER",
        "EDIT_PROFILE",
        "CREATE_CONTENT",
        "MODERATE_CONTENT",
        "CREATE_ADS",
        "BASIC_ADMIN"
      ]
    },
    {
      "category": "Event planning/event services",
      "name": "Mariage Fest",
      "access_token": "AAAIGQYZBqjIABAKqeomUfYZAkZAwINIZCiEBBUqw1DB6WM04090f5PrWNqzjX6SvF9Ld4l70ghwZAJYqAb2S587uQCm0cK1ZAaZABH1IDqUTlbOUZBD56EPxEnvYyEH1NM0ZD",
      "id": "311822035526927",
      "perms": [
        "ADMINISTER",
        "EDIT_PROFILE",
        "CREATE_CONTENT",
        "MODERATE_CONTENT",
        "CREATE_ADS",
        "BASIC_ADMIN"
      ]
    },
    {
      "category": "Restaurant/cafe",
      "name": "Pub Restaurant Wales Pitești",
      "access_token": "BAAIGQYZBqjIABAEYYZA4bvhnFnGEy2pfwUjDwuZA3ZBCDur4ItNJhcxh4uFeAatjO3zf4q6FioK1QyXWHTQTc4vQ5tPltCgrhXhN75TeGCY6ntONDwE0VHmBrTFXMZAsNmKZCx6QAfHWbsWADsNzOhtY7lhDznC9uH0dsfIzh2nQyZCQXZAAcoKGpnlArJjtud5iUxDqC3rlZA3N1xvXaeiwOH6CZCM8IySEZChZCRkP4C9NLeHzcuB4qlJV",
      "id": "252842318171796",
      "perms": [
        "ADMINISTER",
        "EDIT_PROFILE",
        "CREATE_CONTENT",
        "MODERATE_CONTENT",
        "CREATE_ADS",
        "BASIC_ADMIN"
      ]
    }
  ]
}

それはPHPまたはJavaScriptの問題ですか?ご指導いただきありがとうございます。前もって感謝します。

4

1 に答える 1

1

あるべきです;

$user_profile_accounts = json_decode($facebook->api('/me/accounts','GET'),true);

それ以外の;

$user_profile_accounts = $facebook->api('/me/accounts','GET');

そう...

<select name="accmenu" id="accmenu">
    <?php
    $user_profile_accounts = json_decode($facebook->api('/me/accounts','GET'),true);
    foreach ($user_profile_accounts['data'] as $account) {?>
        <option data-description="<?php echo $account['category'] ?>" data-image="https://graph.facebook.com/<?php echo $account['id']; ?>/picture" value="<?php echo $account['id'] ?>"><?php echo $account['name'] ?></options>
    <?php }?>
</select>
于 2013-04-26T14:14:27.647 に答える