如何选择每个月的数据库内容?

发布于 2024-08-28 12:46:04 字数 622 浏览 5 评论 0原文

我的数据库中有名为访问的表,如下所示:

id ip action_date|time_stamp

我使用此代码来存储网站访问,

/* Hits table has an auto-incrementing id and an ip field */

        // Grab client IP
        $ip = $this->input->ip_address();

        // Check for previous visits
        $query = $this->db->get_where('visits', array('ip' => $ip), 1, 0);
        $query = $query->row_array();

        if (count($query) < 1 )
        {
            // Never visited - add
            $this->db->insert('visits', array('ip' => $ip) );
        } 

它工作得很好。但我的客户需要知道他们一个月内有多少次访问。我该怎么做?坦克。

i have table named visits in my database like this :

id
ip
action_date|time_stamp

i use this code to store site visits

/* Hits table has an auto-incrementing id and an ip field */

        // Grab client IP
        $ip = $this->input->ip_address();

        // Check for previous visits
        $query = $this->db->get_where('visits', array('ip' => $ip), 1, 0);
        $query = $query->row_array();

        if (count($query) < 1 )
        {
            // Never visited - add
            $this->db->insert('visits', array('ip' => $ip) );
        } 

it's working nice . but my client need to know how many visits they have in month . how can i do that ? tanks .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流殇 2024-09-04 12:46:04

怎么样:

$months = $this->db->select('
    COUNT(`id`) AS "count", 
    DATE_FORMAT(FROM_UNIXTIME(`action_date`),"%b-%Y") AS "month"',false
)
->group_by('month')
->where(array('ip' => $ip))
->order_by('action_date','desc')
->get('visits')->result();

应该给你这样的数据:

+-------+----------+
| count | month    |
+-------+----------+
|   505 | Apr-2010 |
|   252 | Mar-2010 |
|   426 | Feb-2010 |
|   201 | Jan-2010 |
|   211 | Dec-2009 |
+-------+----------+

How about something like:

$months = $this->db->select('
    COUNT(`id`) AS "count", 
    DATE_FORMAT(FROM_UNIXTIME(`action_date`),"%b-%Y") AS "month"',false
)
->group_by('month')
->where(array('ip' => $ip))
->order_by('action_date','desc')
->get('visits')->result();

Should give you data like:

+-------+----------+
| count | month    |
+-------+----------+
|   505 | Apr-2010 |
|   252 | Mar-2010 |
|   426 | Feb-2010 |
|   201 | Jan-2010 |
|   211 | Dec-2009 |
+-------+----------+
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文