【问题标题】:how to count no of records in and display in view如何计算记录的数量并在视图中显示
【发布时间】:2017-04-01 10:00:55
【问题描述】:

当我想显示否时会显示此错误。表中的记录。 遇到 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>

【问题讨论】:

  • 您的视图代码在 index.php 中?

标签: codeigniter


【解决方案1】:

您的模型有问题。您正在对行进行计数,然后使用 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>

【讨论】:

  • 我按照上述流程进行操作,但显示错误 - 严重性:通知消息:未定义变量:h 文件名:views/index.php
  • @dipti - 你的控制器中有这些行吗? $data['h']= $this-&gt;admin_model-&gt;visitor_count();$this-&gt;load-&gt;view('index',$data);.
  • 是的,我在我的控制器中声明。你可以检查上面我发布了控制器、模型和视图。
  • @dipti - 当您在控制器中的这一行 $data['h']= $this-&gt;admin_model-&gt;visitor_count(); 下添加 var_dump($data); 时,您会得到什么?
  • @dipti - 请批准我的回答,如果它是正确的。
【解决方案2】:

改变你的观点

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

      以此改变模型

      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>
      

      【讨论】:

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