Codeigniter选择查询不起作用

时间:2018-02-08 06:49:11

标签: php codeigniter

我正在尝试使用CI从数据库中获取数据。但我的代码不起作用。 显示错误:

  

遇到严重错误:通知

     

消息:未定义的变量:h

     

文件名:confrence / load_Confrence_passes.php

这是我的控制器代码:

public function load_Confrence_passes()
    {
        //load the model
        $this->load->model('confrence_model');

        //load the method of model
        $data['h']=$this->confrence_model->confrencepasses();

        $this->load->view('mheader');
        $this->load->view('confrence/load_Confrence_passes');
        $this->load->view('mfooter');
    }

这是我的模型代码:

public function confrencepasses()
    {
        $this->db->select('*');
        $this->db->where('confrence_cat','Confrence passes');
        $query = $this->db->get('confrence');
        return $query;
    }

这是我的观看代码:

<div class="row">
            <?php
            foreach($h->result() as $row)
            {
            ?>
            <div class="col-sm-12 semminar-pass reg">
                <div class="col-sm-8 border">
                    <span class="col-sm-12 training-title"><?php echo $row->confrence_title ?></span>
                    <span class="col-sm-12 training-extra-info"><?php echo $row->confrence_description ?></span>
                    <div class="training-bar col-sm-9"></div>
                    <div style="clear:both;"></div>
                    <span class="col-sm-12 training-price">
                    <strong><?php echo $row->confrence_price ?> $</strong>, Taxes included</span>
                </div>
                <div class="col-sm-4 last-block">
                    <div class="col-sm-6 btn-oa" data-relation="5">
                        <span class="border-left border"></span>
                        <span class="border-right border"></span>
                        <i class="jbt-icon icon-oa"></i>
                        Learning Objectives
                    </div>
                    <div class="col-sm-6">
                        <a id="btn-atsc-5" class="btn-add-to-shopping-cart " href="javascript:void(0)"
                           onclick="addTrainingToShoppingCart(5);">
                            <i class="glyphicon glyphicon-shopping-cart"></i>
                            <span class="text">Add to cart</span>
                        </a>
                    </div>
                </div>
                <?php
                }
                ?>

这是我第一次参与CI。

4 个答案:

答案 0 :(得分:3)

您需要将$data数组传递给视图,然后才能将数组保存在视图中。

这是我的控制器代码:

public function load_Confrence_passes()
{
    //load the model
    $this->load->model('confrence_model');

    //load the method of model
    $data['h']=$this->confrence_model->confrencepasses()->result();

    $this->load->view('mheader');
    $this->load->view('confrence/load_Confrence_passes',$data);
    $this->load->view('mfooter');
}

在视图中

<?php 
foreach($h as $row)
{
   echo $row->confrence_title;
}
?>

答案 1 :(得分:1)

数据从控制器传递到视图。

解析$this->load->view('content', $data);

等数据

public function load_Confrence_passes()     {

    //load the model
    $this->load->model('confrence_model');

    //load the method of model
    $data['h']=$this->confrence_model->confrencepasses();
    $this->load->view('content', $data);
    $this->load->view('mheader');
    $this->load->view('confrence/load_Confrence_passes');
    $this->load->view('mfooter');
}

答案 2 :(得分:1)

控制器的变化

public function load_Confrence_passes()
{
    //load the model
    $this->load->model('confrence_model');

    //load the method of model
    $data['h']=$this->confrence_model->confrencepasses();

    $this->load->view('mheader', $data);
    $this->load->view('confrence/load_Confrence_passes');
    $this->load->view('mfooter');
}

模型的变化

public function confrencepasses()
{
    $this->db->select('*');
    $this->db->from('confrence');
    $this->db->where('confrence_cat','Confrence passes');        
    $query = $this->db->get();
    if ($query->num_rows() > 0) {

        return $query->result_array();
    } else {
        return array();
    }
}

视图中的变化

<div class="row">
        <?php
        foreach($h as $row)
        {
        ?>
        <div class="col-sm-12 semminar-pass reg">
            <div class="col-sm-8 border">
                <span class="col-sm-12 training-title"><?php echo $row['confrence_title']; ?></span>
                <span class="col-sm-12 training-extra-info"><?php echo $row['confrence_description']; ?></span>
                <div class="training-bar col-sm-9"></div>
                <div style="clear:both;"></div>
                <span class="col-sm-12 training-price">
                <strong><?php echo $row['confrence_price']; ?> $</strong>, Taxes included</span>
            </div>
            <div class="col-sm-4 last-block">
                <div class="col-sm-6 btn-oa" data-relation="5">
                    <span class="border-left border"></span>
                    <span class="border-right border"></span>
                    <i class="jbt-icon icon-oa"></i>
                    Learning Objectives
                </div>
                <div class="col-sm-6">
                    <a id="btn-atsc-5" class="btn-add-to-shopping-cart " href="javascript:void(0)"
                       onclick="addTrainingToShoppingCart(5);">
                        <i class="glyphicon glyphicon-shopping-cart"></i>
                        <span class="text">Add to cart</span>
                    </a>
                </div>
            </div>
            <?php
            }
            ?>

这可能会帮助你......谢谢!

答案 3 :(得分:0)

这样做,你将在所有视图/部分中提供某些变量:

Maestro