Php 在Codeigniter中创建跟踪表。使用Foreach插入数据
我想创建一个跟踪表来监控每天项目的跟随者数量。该表将每24小时更新一次 结果会是这样的: 我现在有两张桌子。一个用于项目,一个用于Twitter跟踪 我想从Projects表(Project ID,Twitter URL)中获取数据,将数据转换成变量($ico_ID,$Twitter_URL),解析Twitter中的追随者数量,然后将所有内容插入Twitter跟踪表。每个项目都必须执行插入。最后,我每天应该有大约270个结果 我使用foreach()成功地插入了关于单个项目的信息,但它只占用了第一行,然后就停止了 这是我的密码:Php 在Codeigniter中创建跟踪表。使用Foreach插入数据,php,mysql,codeigniter,loops,cron,Php,Mysql,Codeigniter,Loops,Cron,我想创建一个跟踪表来监控每天项目的跟随者数量。该表将每24小时更新一次 结果会是这样的: 我现在有两张桌子。一个用于项目,一个用于Twitter跟踪 我想从Projects表(Project ID,Twitter URL)中获取数据,将数据转换成变量($ico_ID,$Twitter_URL),解析Twitter中的追随者数量,然后将所有内容插入Twitter跟踪表。每个项目都必须执行插入。最后,我每天应该有大约270个结果 我使用foreach()成功地插入了关于单个项目的信息,但它只占用了第
<?php
class Tracker_model extends CI_Model {
#insert follower count
public function twitter_followers(){
$query = $this->db->get('icos');
if($query->num_rows() > 0) {
foreach($query->result() as $row) {
$ico_id = $row->id;
$twitter_url = $row->twitter;
$page = @file_get_contents($twitter_url);
$followers = @explode("followers_count":", explode(","friends_count", $page)[0])[1];
$data = array (
'ico_id' => $ico_id,
'twitter_url' => $twitter_url,
'year' => date("Y"),
'month' => date("m"),
'month_word' => date("F"),
'day' => date("d"),
'day_word' => date("l"),
'week' => date("W"),
'followers' => $followers
);
$insert_followers = $this->db->insert('twitter_followers', $data);
return $insert_followers;
}
} else {
return false;
}
}
}
?>
您的问题是因为返回
语句。它将终止循环,因此只插入第一条记录。删除此返回语句。然后执行您的代码:
<?php
class Tracker_model extends CI_Model {
#insert follower count
public function twitter_followers(){
$query = $this->db->get('icos');
if($query->num_rows() > 0) {
foreach($query->result() as $row) {
$ico_id = $row->id;
$twitter_url = $row->twitter;
$page = @file_get_contents($twitter_url);
$followers = @explode("followers_count":", explode(","friends_count", $page)[0])[1];
$data = array (
'ico_id' => $ico_id,
'twitter_url' => $twitter_url,
'year' => date("Y"),
'month' => date("m"),
'month_word' => date("F"),
'day' => date("d"),
'day_word' => date("l"),
'week' => date("W"),
'followers' => $followers
);
$insert_followers = $this->db->insert('twitter_followers', $data);
}
} else {
return false;
}
}
}
?>
这样一个新手犯的错误!谢谢你指出这一点。此外,跟踪是否以类似的方式进行(谈论真实世界的应用程序)?或者这样行吗?