2011-11-02 6 views
0

새로운 소식!PHP - Codeigniter twitter loops

트위터를 사이트에 표시하려고하고 있습니다 (프레임 워크는 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 파일의 각 상태를 실행하도록 정의하고 볼 수 있습니다. 에코 프리 라인은 테스트 중입니다. 왜냐하면 $ tweet를 인쇄 할 때 하나의 트윗 만 나오기 때문입니다. 그러나 단지 $ xml을 반복해도 파일에로드가 있더라도 여전히 하나의 트윗 만 처리됩니다.

도움/조언을 크게 높이세요!

답변

0

아래 코드는 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>"; 
} 

감사합니다.

+0

정말 고마워요 !!!!! 완벽하게 일했다 !!!! 좋은 하루 되세요! –

+0

언제든지 친구 : 재미 있습니다 ... – pinaldesai