1. 程式人生 > >PHP之後端處理使返回給前端的資料高亮顯示

PHP之後端處理使返回給前端的資料高亮顯示

根據傳入的條件進行模糊查詢,這裡使用的是CI框架,其他框架模糊查詢貌似更簡單,不用使用原生SQL,直接使用模型

<?php

class User extends CI_Model {

    public function __construct()
    {
        parent::__construct();
        $this->load->database('default');
        $this->db->from('user');
    }

    public function getByAny($search) {
        //field1,field2,field3為需要匹配的欄位
        $query = "SELECT * FROM `user` WHERE CONCAT(field1,field2,field3) LIKE '%".$search."%'";
        $result = $this->db->query($query);
        return $result->result_array();
    }
}

高亮顯示主要是使用str_replace()方法將查詢的結果進行字串的替換,再將替換的結果返回到前端。

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Index extends CI_Controller {

	public function __construct() {
		parent::__construct();
        $this->load->model('user');
	}

    public function search() {
        $search = $_GET['search']; //獲取前端傳過來的查詢條件
        $rep_str = "<span style='color: orangered'>".$search."</span>"; //設定替換字串
        $result = $this->user->getByAny($search);
        foreach ($result as $key => &$value) {
            $value['field1'] = str_replace($search,$rep_str,$value['field1']);
            $value['field2'] = str_replace($search,$rep_str,$value['field2']);
            $value['field3'] = str_replace($search,$rep_str,$value['field3']);
        }
        return $result;
    }
}