2010-02-18 7 views
0

숫자를 동적으로 추가하고 출력을 목표로 다음과 같이 지정하고 싶습니다.PHP에서 숫자를 어떻게 동적으로 늘릴 수 있습니까?

<li data-id="id-1".. > ...</li> 
<li data-id="id-2".. > ...</li> 
<li data-id="id-3".. > ...</li> 
<li data-id="id-4".. > ...</li> 
<li data-id="id-5".. > ...</li> 
<li data-id="id-6".. > ...</li> 

시도해 보았지만 작동하지 않습니다. 두 개의 이미지가있는 경우 조회수

for($i=1; $i<=$image_num; $i++){ 
     foreach($images as $image){ 
     echo "<li data-id=\"id-".$i."\" data-type=\"".$image['class']."\">\n<img src=\"".base_url().$image['thumbnail']."\" width=\"128\" height=\"128\" />\n<strong>".$image['name']."</strong>\n<span data-type=\"size\">".$image['shortdesc']."</span></li>\n"; 
      } 
     } 

, 그것은 세 가지가있는 경우, 그렇게 세 번을 반복, 두 번 반복합니다. 누군가 나를 도와 줄 수 있습니까?

미리 감사드립니다.

다음 컨트롤러와 모델을 가지고 있습니다. 당신이 배열의 키에 대해 걱정하지 않는 것 같습니다 때문에

컨트롤러

function quicksand(){ 
    $data['header']='Quicksand'; 
    $group = 'quicksand'; 
    $data['image_num']= $this->MQuicksand->getNumRowsByGroup($group); 
    $data['images']= $this->MQuicksand->getProductsByGroup($group); 

    $data['module'] = 'welcome'; 
    $this->load->view('general/quicksand_temp',$data); 
    // $this->load->view('welcome/public/quicksand_view',$data); 
} 

모델

function getProductsByGroup($group){ 
    $data = array(); 
    $this->db->where('grouping', $group); 
    $this->db->where('status', 'active'); 
    // $this->db->orderby('name','asc'); 
    $Q = $this->db->get('omc_product'); 
    if ($Q->num_rows() > 0){ 
     $num_rows = $Q->num_rows(); 
     foreach ($Q->result_array() as $row){ 
     $data[] = $row; 
     } 
    } 
    $Q->free_result();  
    return $data; 
    return $num_rows; 
} 


function getNumRowsByGroup($group){ 
    $data = array(); 
    $this->db->where('grouping', $group); 
    $this->db->where('status', 'active'); 
    // $this->db->orderby('name','asc'); 
    $Q = $this->db->get('omc_product'); 
    if ($Q->num_rows() > 0){ 
     $num_rows = $Q->num_rows(); 

    } 
    $Q->free_result();  

    return $num_rows; 
} 

답변

1

, 당신은 그것을 사용할 수 있습니다

foreach($images as $elem => $image){ 
    echo "<li data-id=\"id-".($elem + 1)."\" data-type=\"".$image['class']."\">\n<img src=\"".base_url().$image['thumbnail']."\" width=\"128\" height=\"128\" />\n<strong>".$image['name']."</strong>\n<span data-type=\"size\">".$image['shortdesc']."</span></li>\n"; 
} 
4

를 내가받을 경우 질문 바로 그 숫자를 늘리고 싶습니다. 가장 좋은 방법은 다음과 같이 하나의 루프를 유지하는 것입니다.

$count = 1; 
foreach($images as $image){ 
    echo "<li data-id=\"id-".$count."\" data-type=\"".$image['class']."\">\n<img src=\"".base_url().$image['thumbnail']."\" width=\"128\" height=\"128\" />\n<strong>".$image['name']."</strong>\n<span data-type=\"size\">".$image['shortdesc']."</span></li>\n"; 
    $count++; 
} 
관련 문제