如何计算视图中的任何记录并在视图中显示

时间:2017-04-01 10:00:55

标签: codeigniter

  

当我想显示no时,将显示此错误。表中的记录。   遇到PHP错误

严重性:注意

消息:未定义的变量:h

文件名:views / index.php

遇到PHP错误

严重性:警告

消息:为foreach()提供的参数无效

文件名:views / index.php

  

控制器

public function index() {
    if ($this->session->userdata('admin_logged_in')) {
        $data['h']= $this->admin_model->visitor_count();

        $this->load->view('header');
        $this->load->view('sidebar');
        $this->load->view('index',$data);
        $this->load->view('footer');
    } else {
        $this->load->view('login');
    }
}
  

模型

function visitor_count() {
    $query = $this->db->query("SELECT COUNT(*) FROM create_new_pass");
    return $query->num_rows();
}
  

视图

<div class="inner">
<?php foreach ($h as $counts){?>
            <h3><?php echo $counts; ?></h3>
<?php } ?>
          <p>Total No. of Visitors till yet</p>
        </div>

4 个答案:

答案 0 :(得分:5)

您的模型存在问题。你是COUNTing行,然后使用num_rows,它们总是返回1(因为count只有一行)。 更新您的型号:

function visitor_count() {
    $query = $this->db->query("SELECT COUNT(*) as count_rows FROM create_new_pass");
    return $query->row_array();
}

和您的观点:

<div class="inner">
    <h3><?php echo $h['count_rows']; ?></h3>
    <p>Total No. of Visitors till yet</p>
</div>

您可以在模型中使用查询辅助方法:

function visitor_count() {
    return $this->db->count_all('create_new_pass');
}

和您的观点:

<div class="inner">
    <h3><?php echo $h; ?></h3>
    <p>Total No. of Visitors till yet</p>
</div>

答案 1 :(得分:1)

  

根据

更改您的观点
<div class="inner">
    <h3><?php echo $h; ?></h3>
    <p>Total No. of Visitors till yet</p>
</div>

您返回模型中的记录数,因此您不会在视图直接使用数据变量中使用foreach循环。

答案 2 :(得分:0)

  

按此更改模型

function visitor_count() {
    $query = $this->db->query("SELECT * FROM create_new_pass");
    return $query->num_rows();
}
  

通过以下方式更改您的观点:

<div class="inner">
    <h3><?php echo $h; ?></h3>
    <p>Total No. of Visitors till yet</p>
</div>

答案 3 :(得分:0)

您可以直接在查看页面上执行此操作:-

<?php $count4 = $this->db->query("SELECT COUNT(*) as count_rows FROM questions where category='people'")->result(); 
                  foreach ($count4 as $key => $value) { 
echo $value->count_rows;
}?>