2013-04-26 130 views
0

我使用Facebook的開放圖譜來檢索,我用下面的聯繫頁面的信息:JQuery的填充select下拉

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

之後,我想填充使用jquery.dd與接收到的信息一個選擇下拉菜單。如果我在正常情況下使用它,它會創建一個像這樣的選擇:

<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> 

因爲在循環中的每個帳戶。這不是我想要的,相反,所有賬戶的下拉是期望的結果。如果我把選擇放在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的問題?我非常感謝任何指導。先謝謝你。

回答

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> 
+0

非常感謝您! :) – 2013-04-26 14:40:16

+0

沒問題:)謝謝 – Dom 2013-04-26 14:40:37