PHP之後端處理使返回給前端的資料高亮顯示
阿新 • • 發佈:2018-12-18
根據傳入的條件進行模糊查詢,這裡使用的是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; } }