Циклы PHP — Codeigniter в твиттере

#php #mysql #codeigniter #twitter

#php #mysql #codeigniter #Twitter

Вопрос:

новое здесь!!

Я пытаюсь заставить твиты отображаться на сайте (фреймворк — codeigniter). Я использую API Twitter (например: 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 — это мое тестирование, потому что при печати $ tweet появляется только один твит, однако, даже если я перебираю только $ xml, обрабатывается только один твит, несмотря на то, что в файле загружается.

любая помощь / совет будут с благодарностью!

Ответ №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>";
}
  

Спасибо.