【发布时间】:2017-05-16 05:41:05
【问题描述】:
我有两个不同的tables,分别是testimonial 和pagetitles。从database 获取Pagetitles 时。如果两个都匹配,我需要比较前 4 个字符,然后我应该获取数据。
function getpagetitle($id)
{
$this->db->select('P.*,T.testimonial_name');
$this->db->from('pagetitle AS P');
$this->db->join('testimonials AS T','SUBSTR(T.testimonial_name, 4) = SUBSTR(P.page_title, 4)','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;
}
}
数据库表
推荐:
+----------------+-------------------+-------------+
| testimonial_id | testimonial_name | client_name |
+----------------+-------------------+-------------+
| 1 | testimonial | abc |
| 2 | testimonial | def |
+----------------+-------------------+-------------+
页面标题
+--------------+-------------+
| pagetitle_id | pagetitle |
+--------------+-------------+
| 1 | testimonial |
| 2 | career |
+--------------+-------------+
【问题讨论】:
-
@Sinto 在这里他们使用 like 运算符如果 testimonial_name 是 testimonial 而 page_title 是 testimonials 那么它将不匹配那么我们如何为此目的获取数据我只需要比较前 4 个字符跨度>
-
尝试使用 SUBSTR(
T.testimonial_name, 4) = SUBSTR(P.page_title, 4)你的加入。 -
@Sinto 你能在我的代码中编辑吗
-
有用吗?
标签: php mysql codeigniter