2012-11-27 6 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 ?>