如何使用codeigniter从我的表字段中显示计数结果

时间:2015-06-05 04:22:20

标签: php mysql codeigniter

抱歉,如果我的英语不够好...... 我遇到了我的代码,并且不知道为什么它可以工作..

这是我的模特函数

    function counterItem(){
    $query = $this->db->query('SELECT SUM(barang_qty) FROM barang');
}

该函数将计算 barang_qty 的所有值。

然后这是我的控制器功能

    function cListItem(){
    $data = array(
        'data_barang'   => $this->Model_App->getAllData('barang'),
        'data_tShirt'   => $this->Model_App->displayTshirt('barang', 'T-Shirt'),
        'data_shirt'    => $this->Model_App->displayShirt('barang', 'Shirt'),
        'data_pants'    => $this->Model_App->displayPants('barang', 'Pants'),
        'data_jeans'    => $this->Model_App->displayJeans('barang', 'Jeans'),
        'data_jacket'   => $this->Model_App->displayJacket('barang', 'Jacket'),
        **'total_item'  => $this->Model_App->counterItem(),**
    );
    $this->load->view('admin/header');
    $this->load->view('admin/vBarang', $data);
    $this->load->view('admin/footer');
}

获取模型函数所有值的变量是 total_item

然后这是我的视图代码

<table class="table table-hover">
    <thead>
        <tr>
            <th>#</th>
            <th>Code Item</th>
            <th>Type</th>
            <th>Quantity</th>
            <th>Volume</th>
            <th>Price /pcs</th>
            <th>Action</th>
        </tr>
    </thead>
    <tbody>
        <?php
            $no=1;
            if(isset($data_barang)){
                foreach($data_barang as $row){
        ?>
        <tr>
            <td><?php echo $no++; ?></td>
            <td><?php echo $row->barang_kode; ?></td>
            <td><?php echo $row->barang_type; ?></td>
            <td><?php echo $row->barang_qty; ?></td>
            <td><?php echo $row->barang_satuan; ?></td>
            <td>Rp. <?php echo $row->barang_harga; ?></td>
            <td>
                <a class="btn btn-xs btn-danger" href="<?php echo site_url(); ?>cAdminPage/cDelItem/<?php echo $row->barang_id; ?>"
                onclick="return confirm('Anda yakin akan menghapus data ini?')" data-toggle="tooltip" data-placement="left" title="Hapus"><span class="glyphicon glyphicon-trash"></span></a> 
                <a class="btn btn-xs btn-success" href="#modalEditBarang<?php echo $row->barang_id ?>" data-toggle="modal" data-hover="tooltip" data-placement="right" title="Edit"><span class="glyphicon glyphicon-edit"></span></a>
            </td>
        </tr>
        <?php }
            }
        ?>
        <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
            <td>D</td> // the result of counter is here
            <td>e</td>
            <td>f</td>
            <td>g</td>
    </tbody>
</table>

我想在行D 中显示我的查询值。 当我尝试用

调用变量时
<?php echo $total_item ?>

但它不起作用。 我哪里做错了? 请指教, 谢谢:))

6 个答案:

答案 0 :(得分:2)

$result=$this->db->select_sum("barang_qty")->from("barang")->where()->get()-result();

或者如果您只想计算数据库中条目表中的ID,您可以在php函数中使用mysql函数计数并返回值并发送数组以通过数组键查看和获取值。

答案 1 :(得分:1)

你的模型功能应该是这样的。存在用于选择任何列的总和的活动记录方法

function counterItem(){
    $this->db->select_sum('barang_qty');//standard codeigniter method for getting sum
    $t= $this->db->get('barang')->row();
    return $t->barang_qty;//gives Sum of barang_qty columns value
}

答案 2 :(得分:0)

像这样修改模型函数

function counterItem()
{
  $query = $this->db->query("SELECT SUM(barang_qty) as sum FROM barang");
  return $query->row()->sum;
}

答案 3 :(得分:0)

也许你可以在你的模型中尝试这样:

public function counterItem(){
  $this->db->select('barang_qty');
  $this->db->from('barang');
  $this->db->where(); // if you want to put some condition
  $query = $this->db->get();

  return $query->result_array();
}

你的控制器看起来还不错,,,

修改您的观点:

    <tbody>
          <?php
              $no=1;
                if(isset($data_barang)){
                       foreach($data_barang as $row){
          ?>
         <tr>
            <td><?php echo $no++; ?></td>
            <td><?php echo $row['barang_kode']; ?></td>
            <td><?php echo $row['barang_type']; ?></td>
            <td><?php echo $row['barang_qty']; ?></td>
            <td><?php echo $row['barang_satuan']; ?></td>
            <td>Rp. <?php echo $row['barang_harga']; ?></td>
            <td>
               <a class="btn btn-xs btn-danger" href="<?php echo site_url();>cAdminPage/cDelItem/<?php echo $row['barang_id']; ?>"
     onclick="return confirm('Anda yakin akan menghapus data ini?')" data-toggle="tooltip" data-placement="left" title="Hapus">
       <span class="glyphicon glyphicon-trash"></span></a> 
       <a class="btn btn-xs btn-success" href="#modalEditBarang<?php echo $row['barang_id']; ?>" data-toggle="modal" data-hover="tooltip" data-placement="right" title="Edit"><span class="glyphicon glyphicon-edit"></span></a>
         </td>
     </tr>
  <?php }
     }
  ?>

答案 4 :(得分:0)

在模型中

function counterItem()
{
   $query = $this->db->query('SELECT SUM(barang_qty) FROM barang');//Query to get data from database
   $result = $query->result_array();//assign $query to array 
   $count = count($result);//counting number of elements in $result array
   return $count;// return number of count
}

在控制器中

function cListItem(){
    $data = array(
        'data_barang'   => $this->Model_App->getAllData('barang'),
        'data_tShirt'   => $this->Model_App->displayTshirt('barang', 'T-Shirt'),
        'data_shirt'    => $this->Model_App->displayShirt('barang', 'Shirt'),
        'data_pants'    => $this->Model_App->displayPants('barang', 'Pants'),
        'data_jeans'    => $this->Model_App->displayJeans('barang', 'Jeans'),
        'data_jacket'   => $this->Model_App->displayJacket('barang', 'Jacket'),
        **'total_item'  => $this->Model_App->counterItem(),**
    );
    $this->load->view('admin/header');
    $this->load->view('admin/vBarang', $data);
    $this->load->view('admin/footer');
}

在视图中

<?php echo $total_item?>

答案 5 :(得分:0)

感谢Mayank Tailor。 IT适用于此模型功能:

    function counterItem(){
    $this->db->select_sum('barang_qty');
    $t = $this->db->get('barang')->row();
    return $t->barang_qty;
}

感谢各位,感谢您的关注:) 问候