php - 比较表中的前 4 个字符并从 codeigniter 中的数据库中获取数据

标签 php mysql codeigniter

我有两个不同的作为testimonialpagetitles。从 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      |
+--------------+-------------+

最佳答案

我认为你必须使用 if then statement在 MySQL 中, 所以如果我们想更改您的查询,它必须是这样的:

select P.*,T.testimonial_name from pagetitle AS P , testimonials as T (
 select IF 'SUBSTR(T.testimonial_name, 4) = SUBSTR(P.page_title, 4)'  
 where P.page_title>5
)

我没有测试过,但我认为这一定是真的

关于php - 比较表中的前 4 个字符并从 codeigniter 中的数据库中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43993309/

相关文章:

php - "No data supplied for parameters in prepared statement"全局插入函数

php - Codeigniter 从 View 中将多个参数传递给 Controller ​​?

php - 如何使用 PHP 获取每页上的列总和?

php - 使用 php 和 cURL 转发多部分表单数据

php - 使用 php,填充当月的天数数组

sql - 通过一些计算从数据库中获取前 10 名

mysql - 未指定 MySQL 配置文件的位置(即 : my. cnf)

php - 如何通过codeigniter中的循环更改每个ajax请求中的列名称

php - 如何在 Codeigniter 中创建动态站点地图

php - Yii2 - 如何在最后位置的 View 文件中包含外部 js