从数据库中获取页面标题错误为
遇到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是我的控制器名称。
答案 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;
}
}
我希望这会对你有所帮助。