簡體   English   中英

使用codeigniter php從數據庫中獲取頁面標題時出現錯誤

[英]getting an error while fetching page title from database using codeigniter php

從數據庫中獲取頁面標題時出現如下錯誤

遇到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_id  page_title            title
1             digital_marketing     Digital Marketing

在這種情況下,如果兩個page_titles都匹配,則我要比較page_title,那么我需要顯示標題名稱,但是在比較時會出現上面已發布的錯誤。

如果我在頁面標題中使用下划線(_),則出現該錯誤(如果不能正常工作)。

控制器:

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表中插入的頁面標題是我的控制器名稱。

您可以更改模態函數

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

希望對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM