显示数据库中的页面标题,在Codeigniter中将数组作为数组转换为字符串转换

时间:2017-05-15 05:58:33

标签: php codeigniter

您好我正在尝试为数据库中的所有页面动态获取页面标题。但是将错误视为

<h4>A PHP Error was encountered</h4>
<p>Severity:Notice</p>
<p>Message: Array to string Converstion</p>
<p>FileName:templates/header.php</p>

控制器:

function index()
{     

    $data['page_title']=$this->testimonial_model->getpagetitle($this->uri->segment(1));
    $data['mainpage'] = "testimonial";
    $this->load->view('templates/template',$data);
}

型号:

function getpagetitle($id)
{
    $this->db->select('P.*,T.testimonial_name');        
    $this->db->from('pagetitle AS P');
    $this->db->join('testimonials AS T','T.testimonial_name=P.page_title','INNER');     
    $q=$this->db->get();    
    if($q->num_rows()>0)
      {
    return $q->result();
        }
    else
    {
    return false;
    }
}

模板/ header.php文件

<?php if(!empty($page_title)){?>
<title><?php echo $page_title; ?></title>
<?php }else{ ?>
<title>Solutions</title>
<?php } ?>

数据库/推荐:

testimonial_id | testimonial_name |描述

1见证lorem ipsum 2证词lorem ipsum lorem Ipsum

PAGETITLE

pagetitle_id | PAGE_TITLE

1个推荐 2职业

以模态打印查询,但无法显示任何数据。

需要动态显示页面标题。

2 个答案:

答案 0 :(得分:0)

您的问题是,结果变量不是字符串,而是数组,请尝试使用

$output = $q->result();
return $output[0];

在你的模型中。 所以你的模型看起来像:

function getpagetitle($id)
{
    $this->db->select('P.*,T.testimonial_name');        
    $this->db->from('pagetitle AS P');
    $this->db->join('testimonials AS T','T.testimonial_name=P.page_title','INNER');     
    $q=$this->db->get();    
    if($q->num_rows()>0)
      {
    $output = $q->result();
    return $output[0];
        }
    else
    {
    return false;
    }
}

答案 1 :(得分:0)

控制器:

function index()
{     

$pageReult = $this->testimonial_model->getpagetitle($this->uri->segment(1));
$data['page_title']=$pageReult->page_title;
$data['mainpage'] = "testimonial";
$this->load->view('templates/template',$data);
}

型号:

function getpagetitle($id)
{

    $this->db->select('P.*,T.testimonial_name');        
    $this->db->from('pagetitle AS P');      
    $this->db->join('testimonials AS T','T.testimonial_name=P.page_title','INNER');
    $this->db->where(array('P.page_title'=>$id));       
    $q=$this->db->get();        
    if($q->num_rows()>0)
      {
    $output = $q->result();

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