#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>";
}
Спасибо.