Facebook好友循环不起作用

时间:2014-01-25 06:59:35

标签: php mysql facebook codeigniter loops

以下代码获取登录用户的Facebook好友,并使用Facebook好友的gamers检查他的任何朋友是否存在于数据库表id中。

 $friends = $facebook->api('/me/friends');

        foreach ($friends["data"] as $value) {

            $friendid=$this->upload_model->get_user($value["id"]);

              if (($friendid)) {

                $my_friends=$this->upload_model->get_user($value["id"]);
                $data['top_friends']=$my_friends;



            }


        }

此代码位于我的codeigniter应用程序的控制器中,其中$this-upload_model->get_user()是我的模型中的一个函数,可获取gamer上的所有信息。

模特:

public function get_user($id)
    {
        $this->db->where('id', $id);
        $user=$this->db->get('gamers');
        $data = $user->result_array();
        return $data;
    }

在视图中:

<?php foreach ($top_friends as $friend) : ?>

<p><?php echo $friend['name']; ?></p>


<?php endforeach; ?>  

我想要实现的是搜索登录用户的任何Facebook好友是否也已注册并存储在数据库表gamers中。数据库中存在的所有朋友都会在视图中打印他们的信息。

目前使用此代码,视图仅打印一个条目。打印的一个条目是Facebook的朋友,但它应该列出所有,其中在这种情况下有2个朋友存储在数据库中。但是这段代码只返回一个。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你必须传递数组

$temp = array();
 foreach ($friends["data"] as $value) {

            $friendid=$this->upload_model->get_user($value["id"]);

              if (($friendid)) {

                $my_friends=$this->upload_model->get_user($value["id"]);
                $temp[]=$my_friends[0];//as per your comment



            }
$data['top_friends'] = $temp;