您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在thinkphp中實現一個瀏覽歷史功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
具體實現方法分析如下:
歷史瀏覽功能都是使用了cookie功能記錄用戶信息放到了本地了,這樣我們只要讀取存儲在cookies中的值就可以了,下面來給大家介紹一個基于thinkphp 實現瀏覽歷史功能例子。
就像瀏覽器一樣,能夠記錄訪問了哪些頁面,這樣能夠減少時間,下面我們實現瀏覽歷史的功能。
1.在你需要記錄瀏覽數據的產品或新聞頁面,記錄cookie需要保存的信息,例如下面這行代碼,把頁面ID,產品名稱,價格,縮略圖,網址傳給cookie_history。
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顯示出來就行了。
關于怎么在thinkphp中實現一個瀏覽歷史功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。