>  기사  >  백엔드 개발  >  thinkphp가 검색 기록 기능을 구현하는 방법에 대해

thinkphp가 검색 기록 기능을 구현하는 방법에 대해

不言
不言원래의
2018-06-08 15:06:311702검색

이 글은 주로 thinkphp의 검색 기록 기능을 구현하는 방법을 소개합니다. 이는 매우 실용적인 기술입니다. 필요한 사람들은 이를 참조할 수 있습니다. thinkphp의 검색 기록 기능 구현 방법 참고용으로 공유하세요. 구체적인 구현 방법은 다음과 같이 분석됩니다.

이력 탐색 기능은 쿠키 기능을 사용하여 사용자 정보를 기록하고 로컬에 저장하기만 하면 됩니다. 이 방식으로 쿠키에 저장된 값만 읽으면 됩니다. thinkphp.Historical 함수 예제를 기반으로 한 브라우저입니다.

브라우저와 마찬가지로 방문한 페이지를 기록할 수 있어 시간을 단축할 수 있습니다. 다음으로 검색 기록 기능을 구현합니다.

1. 검색 데이터를 기록해야 하는 제품 또는 뉴스 페이지에서 쿠키가 저장해야 하는 정보를 기록합니다. 예를 들어 다음 코드 줄에 페이지 ID, 제품 이름, 가격, 썸네일, 및 cookie_history에 대한 URL입니다.

cookie_history($id,$info['title'],$info['price'],$info['pic'],$thisurl);

2. function.php에 코드 추가

/**
  +----------------------------------------------------------
 * 浏览记录按照时间排序
  +----------------------------------------------------------
 */
function my_sort($a, $b){
$a = substr($a,1);
$b = substr($b,1);
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
  }
/**
  +----------------------------------------------------------
 * 网页浏览记录生成
  +----------------------------------------------------------
 */
function cookie_history($id,$title,$price,$img,$url){
$dealinfo['title'] = $title;
$dealinfo['price'] = $price;
$dealinfo['img'] = $img;
$dealinfo['url'] = $url;
$time = 't'.NOW_TIME;
$cookie_history = array($time => json_encode($dealinfo));  //设置cookie
if (!cookie('history')){//cookie空,初始一个
cookie('history',$cookie_history);
}else{
$new_history = array_merge(cookie('history'),$cookie_history);//添加新浏览数据
uksort($new_history, "my_sort");//按照浏览时间排序
$history = array_unique($new_history);
if (count($history) > 4){
$history = array_slice($history,0,4);
}
cookie('history',$history);
}
}
/**
  +----------------------------------------------------------
 * 网页浏览记录读取
  +----------------------------------------------------------
 */
function cookie_history_read(){
$arr = cookie('history');
foreach ((array)$arr as $k => $v){
$list[$k] = json_decode($v,true);
}
return $list;
}

3. 검색 기록을 표시해야 하는 페이지에 정보를 출력합니다.

$this->assign('history',cookie_history_read());

volist를 사용하여 템플릿에 표시하면 됩니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장사항:

ThinkPHP를 사용하여 썸네일 생성 및 표시


thinkPHP의 일괄 삭제 구현 방법에 대해


getlist 메서드를 사용하여 데이터 검색 기능 구현에 대한 ThinkPHP의 분석에 대해


위 내용은 thinkphp가 검색 기록 기능을 구현하는 방법에 대해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.