Thinkphp閲覧履歴機能実装方法、thinkphphistory
この記事の例では、thinkphp の閲覧履歴機能を実装する方法を説明し、参考のために皆さんと共有します。具体的な実装方法は以下のように分析されます:
閲覧履歴機能はCookie機能を利用してユーザー情報を記録し、ローカルに保存するため、Cookieに保存された値を読み取るだけで済みます。 thinkphpをベースにした閲覧履歴機能の実装例を紹介します。 。
ブラウザと同じように、どのページにアクセスしたかを記録できるため、時間を短縮できます。 次に、閲覧履歴機能を実装します。
1. 閲覧データを記録する必要がある製品ページまたはニュースページで、Cookie が保存する必要がある情報を次のコード行に記録します。ページ ID、製品名、価格、サムネイル、およびcookie_history への URL。
コードをコピーします コードは次のとおりです:
cookie_history($id,$info['title'],$info['price'],$info['pic'],$thisurl);
2.function.phpにコードを追加します
コードをコピーします コードは次のとおりです:
/**
+------------------------------------------------ ----------
* 閲覧履歴を時間順に並べ替えます
+------------------------------------------------ ----------
*/
関数 my_sort($a, $b){
$a = substr($a,1);
$b = substr($b,1);
if ($a == $b) 0 を返す;
return ($a > $b) ? -1 : 1;
}
/**
+------------------------------------------------ ----------
* ウェブ閲覧記録を生成します
+------------------------------------------------ ----------
*/
関数 cookie_history($id,$title,$price,$img,$url){
$dealinfo['title'] = $title;
$dealinfo['価格'] = $価格;
$dealinfo['img'] = $img;
$dealinfo['url'] = $url;
$time = 't'.NOW_TIME;
$cookie_history = array($time => json_encode($dealinfo)) // クッキーを設定します
if (!cookie('history')){//空の Cookie、最初の 1 つ
cookie('history',$cookie_history);
}その他{
$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);
}
}
/**
+------------------------------------------------ ----------
* ウェブ閲覧履歴を読む
+------------------------------------------------ ----------
*/
関数 cookie_history_read(){
$arr = cookie('履歴');
foreach ((array)$arr as $k => $v){
$list[$k] = json_decode($v,true);
}
$list を返します;
}
3. 閲覧履歴を表示したいページの情報を出力します
コードをコピーします コードは次のとおりです:
$this->assign('history',cookie_history_read());
volist を使用してテンプレートに表示するだけです。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
これはアクションクラスであり、最後の文 $this->display('Public:text'); は public の下にテキスト テンプレートを表示することです。つまり、最初にこのクラスのこのメソッドを実行してから、テンプレートを表示します。テンプレートで使用される変数は、ここから assign を呼び出すことによって割り当てられます。たとえば、 $this->assign('time',time()); は、時刻名を使用して現在の時刻をテンプレートに割り当てます。 else の HTML コードをテンプレートに書き込む必要があります。
フロント デスクは複数選択ボックスであり、コントローラーで複数選択ボックスが選択されているかどうかを判断し、where 構文を使用してそれを選択することができます。 通常 $this->dao->where("空き状況のみを表示=$a")
http://www.bkjia.com/PHPjc/902779.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/902779.html技術記事 Thinkphp 閲覧履歴機能の実装方法、thinkphp 履歴 この記事では、thinkphp 閲覧履歴機能の実装方法の例を説明します。参考のために皆さんと共有してください。具体的な実装方法は以下のように分析されます:...