2013-08-30 50 views
0

我需要使用codeigniter生成月度報告。我必須發佈數據結果(如果有的話),該結果將等於循環內從1月到12月的給定月份。CODEIGNITER FOREACH

例子:

----------- -------------月
+名稱|電子郵件|記錄+
+ 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. }

我只是不知道如何實現這一點使用笨。我會非常感謝你的幫助。謝謝。

+0

請告訴我您的電子郵件,我會幫你笨 –

+0

@Venkat爲什麼你不幫他嗎? – Pattle

回答

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'); 
    } 
} 
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; 
    } 
} 

你也可以傳遞一個字符串,導致()代表一個類實例爲每個結果對象(注:這個類必須被加載)

$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 
} 

result_array()

此功能RET將查詢結果作爲純數組,或者在沒有結果產生時將空數組作爲空數組。通常你會在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; 

}