Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Codeigniter中创建跟踪表。使用Foreach插入数据_Php_Mysql_Codeigniter_Loops_Cron - Fatal编程技术网

Php 在Codeigniter中创建跟踪表。使用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()成功地插入了关于单个项目的信息,但它只占用了第

我想创建一个跟踪表来监控每天项目的跟随者数量。该表将每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&quot;:", explode(",&quot;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&quot;:", explode(",&quot;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;
        }
    } 
}
?>

这样一个新手犯的错误!谢谢你指出这一点。此外,跟踪是否以类似的方式进行(谈论真实世界的应用程序)?或者这样行吗?