【问题标题】:How can I dynamically increase a number in PHP如何在 PHP 中动态增加一个数字
【发布时间】:2010-02-18 08:13:48
【问题描述】:

我想动态添加数字并将输出瞄准如下。

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

【问题讨论】:

    标签: php numbers increment


    【解决方案1】:

    如果我的问题是正确的,您只想增加数字。最好的办法是像这样保持一个循环:

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

    【讨论】:

      【解决方案2】:

      由于看起来您并不关心数组键,因此您可以使用它:

      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";
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-28
        • 1970-01-01
        相关资源
        最近更新 更多