0

我需要使用 codeigniter 生成月度报告。我必须在循环内发布等于从 1 月到 12 月给定月份的数据结果(如果有)。

例子:

-----------一月-------------
+姓名 | 电子邮件 |records+
+asdgh|trtryjei|fguuyiuy+
----------二月------------
+name | 电子邮件|记录+
+asdgh|trtryjei|fguuyiuy+

for($i=1;$i<=12;$i++){
//run the query here matching the date based on $i. 1 = January and so on. }

我只是不知道如何使用 codeigniter 来实现它。我会非常感谢你的帮助。谢谢。

4

2 回答 2

0

主要的 CI 功能是这样工作的:-

结果()

此函数将查询结果作为对象数组返回,或者在失败时返回空数组。通常,您将在 foreach 循环中使用它,如下所示:

$query = $this->db->query("YOUR QUERY");

foreach ($query->result() as $row)
{
   echo $row->title;

   echo $row->name;

   echo $row->body;
}

上述函数是 result_object() 的别名。

如果您运行的查询可能不会产生结果,建议您先测试结果:

$query = $this->db->query("YOUR QUERY");

if ($query->num_rows() > 0)
{
   foreach ($query->result() as $row)
   {
      echo $row->title;

      echo $row->name;

      echo $row->body;
   }
}

您还可以将字符串传递给 result() ,它表示要为每个结果对象实例化的类(注意:必须加载此类)

$query = $this->db->query("SELECT * FROM users;");

foreach ($query->result('User') as $row)
{
   echo $row->name; // call attributes

   echo $row->reverse_name(); // or methods defined on the 'User' class
}

结果数组()

该函数将查询结果作为纯数组返回,或者在没有结果时返回空数组。通常,您将在 foreach 循环中使用它,如下所示:

$query = $this->db->query("YOUR QUERY");

foreach ($query->result_array() as $row)
{
   echo $row['title'];

   echo $row['name'];

   echo $row['body'];
}

排()

此函数返回单个结果行。如果您的查询不止一行,它只返回第一行。结果作为对象返回。这是一个使用示例:

$query = $this->db->query("YOUR QUERY");

if ($query->num_rows() > 0)
{
   $row = $query->row();

   echo $row->title;

   echo $row->name;

   echo $row->body;

} 
于 2013-08-30T10:37:30.307 回答
0

尝试这样的事情:

$curYear    = '2013';
for( $i=1; $i<13; $i++ ){
    for( $j=1; $j<32; $j++ ){
        $dateToday  = $curYear.'-'.$i.'-'.$j;
        #your query here
        $rs = $this->db->select('*')->where('date', $dateToday)->get('table');
    }
}
于 2013-08-30T10:29:28.703 回答