使用codeigniter php从数据库中获取页面标题时出错

时间:2017-09-21 06:46:55

标签: php mysql codeigniter

从数据库中获取页面标题错误为

  

遇到PHP错误严重性:通知消息:试图获取   非对象的属性文件名:controllers / digital_marketing.php   行号:20

     

遇到PHP错误严重性:通知消息:试图获取   非对象的属性文件名:controllers / digital_marketing.php   行号:21

我有两张桌子 1.digital_marketing 2.pagetitle

在第一个表格中,我将插入与数字营销相关的数据以及digitalmarketing_name(表格将采用以下格式)

digital_id  description   digitalmarketing_name
1           dfhbsdjbfd     digital_marketing

第二张表:( pagetitle)

pagetitle_id  page_title            title
1             digital_marketing     Digital Marketing

在此我比较page_title如果page_titles都匹配,那么我需要显示标题名称,但是比较得到我上面发布的错误。

如果我在页面标题中使用下划线(_),则会出现错误,如果它没有正常工作。

控制器:

class Digital_marketing extends CI_Controller {
function __construct()
{ 
    parent::__construct();
    $this->load->model('index_model');
    $this->load->model('digitalmarketing_model');

}
public function index()
{

    $data['records2']=$this->digitalmarketing_model->get_digitalmarketing();
    $pageReult = $this->digitalmarketing_model->getpagetitle($this->uri->segment(1));
    $data['page_title']=$pageReult->title;
    $data['meta_tags']=$pageReult->meta_tags;

    $data['mainpage'] = "digital-marketing";
    $this->load->view('templates/template',$data);
}

型号:

function getpagetitle($id)
{

    $this->db->select('P.*,D.digitalmarketing_name');       
    $this->db->from('pagetitle AS P');      
    $this->db->join('digital_marketing AS D','D.digitalmarketing_name=P.page_title','INNER');
    $this->db->where(array('P.page_title'=>$id));       
    $q=$this->db->get();        
    //var_dump($this->db->last_query());
    //print_r($q->num_rows());
    if($q->num_rows()>0)
      {
    $output = $q->result();

   return $output[0];
        }
    else
    {
    return false;
    }
}

我在digital_marketing表中插入的pagetitle是我的控制器名称。

1 个答案:

答案 0 :(得分:1)

您可以更改模态功能

  

Controller.php这样

    public function index()
        {

            $data['records2']=$this->digitalmarketing_model->get_digitalmarketing();
#echo $this->uri->segment(1); exit;
            $pageReult = $this->digitalmarketing_model->getpagetitle($this->uri->segment(1));
            $data['page_title']=$pageReult->title;
            $data['meta_tags']=$pageReult->meta_tags;

            $data['mainpage'] = "digital-marketing";
            $this->load->view('templates/template',$data);
        }
  

模态:digitalmarketing_model.php

function getpagetitle($id) {
    $this->db->select('p.*,d.digitalmarketing_name');
    $this->db->from('digital_marketing AS d');
    $this->db->join('pagetitle as p', 'p.page_title = d.digitalmarketing_name', 'left');
    $this->db->where('p.page_title',$id);
    $query = $this->db->get();
    if ($query->num_rows() > 0) {
        $row = $query->row();
        return $row;
    } else {
        return false;
    }
}

我希望这会对你有所帮助。