2012-11-27 65 views
0

我有以下兩個函數,我想知道,有什麼方法可以將它們合併爲一個。Codeigniter 2.1,PHP - 將兩個函數合併爲一個

function galerija_get_all(){ 
$q = $this->db->get('galerija'); 
return $q = $q->result_array(); 
} 

function galerija_get_all_slike(){ 
$q = $this->db->get('slike'); 
return $q = $q->result_array(); 
} 

在我看來,我的文件有這樣的代碼:

<?php foreach ($galerija as $gal): ?> 
<figure> 
<?php foreach ($galerija_slike as $img): ?> 
<?php if ($gal['id_galerija'] == $img['galerija_id']): ?> 

<?php endif ?> 
<?php endforeach ?> 
<img src="" > 
<figcaption></figcaption> 
</figure> 
<?php endforeach ?> 

是否有可能(如果是,怎麼做)這兩個代碼?

回答

5

你總是可以做到這一點..

function galerija_get_all($type){ 
    $q = $this->db->get($type); 
    return $q->result_array(); 
} 

然後你可以使用它像這樣:

falerija_get_all('slike'); 

falerija_get_all('galerija'); 
+0

我現在有第一部分:)解決方案。對於問題的第二部分有什麼想法? – Sasha

+0

這已經很晚了,但你的意思是循環出第二部分?當然這不是問題,但是我只提供了這種功能,你可以根據需要將它實現到任何模板中。 – Braunson

0

可以存儲在一個陣列中的兩個結果然後將數組作爲單個結果返回。

function get_all(){ 
    $galerija = $this->db->get('galerija')->result_array(); 
    $slike = $this->db->get('slike')->result_array(); 

    $result = array('galerija'=> $galerija, 
        'slike' => $slike); 
    return $result; 
} 

然後在視圖中,你可以做到這一點

<?php foreach ($result['galerija'] as $gal): ?> 
<figure> 
<?php foreach ($result['slike'] as $img): ?> 
<?php if ($gal['id_galerija'] == $img['galerija_id']): ?> 

<?php endif ?> 
<?php endforeach ?> 
<img src="" > 
<figcaption></figcaption> 
</figure> 
<?php endforeach ?>