【问题标题】:PHP - Codeigniter twitter loopsPHP - Codeigniter 推特循环
【发布时间】:2011-11-02 11:04:14
【问题描述】:

新来的!!

我试图让推文显示在网站上(框架是 codeigniter)。我正在使用 twitter api(例如:https://api.twitter.com/1/statuses/user_timeline/ddarrko.xml)来获取推文,然后将它们插入到数据库中,然后我将在网站上显示该数据库。实际代码运行良好,问题是它只处理一条推文。我的代码是 -

//获取推特地址

    $this->load->model('admin_model');
    $getadd = $this->admin_model->get_settings("twitter_address");
    $twitter_user = $getadd->item_value;
    //define twitter xml file

    $xmlpath = "https://api.twitter.com/1/statuses/user_timeline/".$twitter_user.".xml";

    $xml = simplexml_load_file($xmlpath);


    foreach ($xml->status as $tweet);
    {
        echo "<pre>";print_r($xml);echo "</pre>";
        $this->data->username=$twitter_user;
        $this->data->twitter_status=$tweet->text;
        $this->data->pub_date=$tweet->created_at;

        //load model and insert tweets;
        $this->load->model('tweet_model');
        $this->tweet_model->insert_tweets($this->data);

    }

如您所见,我正在定义在 xml 文件中运行每个状态。 echo pre 行是我测试的,因为在打印 $tweet 时只有一条推文出现,但是即使我只循环通过 $xml 仍然只有一条推文被处理,尽管文件中有负载。

任何帮助/建议将不胜感激!

【问题讨论】:

    标签: php mysql codeigniter twitter


    【解决方案1】:

    以下代码将为您提供来自 XML 的所有可用推文。您可以根据需要操作以下逻辑。

    $xmlpath = "https://api.twitter.com/1/statuses/user_timeline/".$twitter_user.".xml";
    $xml = simplexml_load_file($xmlpath);
    $count_tweet = sizeof($xml);
    for($i=0 ; $i < $count_tweet  ; $i++)
    {
            echo"<br>Tweet: ". $xml->status[$i]->text;
            echo"<br>date:".$xml->status[$i]->created_at."<br>";
    }
    

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 2013-10-18
      • 2016-02-21
      • 2019-01-29
      相关资源
      最近更新 更多