商品的浏览记录

原理:把点击过的商品的goods_id放入 cook==1,2,4,3,5 ;   从数据库查询商品id在1,2,4,3,5中的商品分配到模版页如果cook没有设置cook如果有追加,去重,如果大于5,pop   

1 session_start(); 3 //商品的浏览记录
 4 $goods_id=mt_rand(1,10);
 5 if(empty($_COOKIE[‘user‘][‘history‘])){
 6    setcookie(‘user[history]‘,$goods_id,time()+3600*24*30);
 7 }else{
 8     $hisOld=$_COOKIE[‘user‘][‘history‘];
 9     $hisArray=explode(‘,‘,$hisOld);
10     array_unshift($hisArray,$goods_id);
11     $hisArray=array_unique($hisArray);
12     if(count($hisArray)>5){
13         array_pop($hisArray);
14     }
15     $goods_id=implode(‘,‘,$hisArray);
16     setcookie(‘user[history]‘,$goods_id,time()+3600*24*30);
17     p($_COOKIE[‘user‘][‘history‘]);
18 }
19 //传浏览记录
20 $history= $_COOKIE[‘user‘][‘history‘];// 1,7,2,9,3
21 $history = $db->getAll("select * from goods where goods_id in ({$history})");
22 $tpl->assign(‘history‘,$history);
23
24 //过程
25 //goods_id=1
26 1          //如果没有,设置cook=1(goods_id)
27 [0=>1]     //如果有把cook里的值分割成数组 //1,2,3,4,5
28 [1=>2,0=>1]//在数组的前边插入新浏览的记录,形成新的数组
29             //去重,判断count(cook)>5则pop
30 2,1        //在把新形成的数组变为字符串放入cook//2,1,3,4,5,

原文地址:https://www.cnblogs.com/finddata/p/11059685.html

时间: 2024-08-15 12:39:05

商品的浏览记录的相关文章

显示商品的浏览记录

package com.cn.cookie; import java.io.IOException; import java.util.LinkedHashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpSer

使用Cookie实现商品的浏览记录功能

之前在前面一篇文章中简单的介绍了一下Cookie的来历与简单的用法,以及与Session两者之间的区别,然而理论终究还是要与实践相结合的,有了实践,理论才能得以更好的巩固.尤其是编程这种技术性操作性及其强的工作,更需要不断的去实践. 像很多购物网站.淘宝,京东等购物网站,细心的朋友都会发现页面的一侧都会有那种浏览过的商品历史记录信息,之前也只是听说这个是使用cookie机制实现的,但是具体怎么实现的还不是很清楚,通过这两天的学习,终于也大致清楚这其中的奥秘,好了,废话不多说了,这两天练习了一个小

使用cookies查询商品浏览记录

经历了俩个星期,易买网项目如期完工,现在总结一下如何使用cookies实现浏览商品的历史记录. 第一步:创建商品实体类. 第二步:连接oracle数据库. 第三步:创建商品三层架构. 效果图: 在要显示 的地方加入核心代码: <h2>最近浏览</h2> <div style="height:200px;display:block;overflow:hidden"> <% //获取所有的cookie Cookie[] cookies = requ

Java遇见HTML——JSP篇之商品浏览记录的实现

一.项目总体介绍 使用Cookie实现商品浏览记录. 要实现这个程序采取的是Model1(Jsp+JavaBean)架构实现,具体步骤: 首先要有个数据库,商品表,操作数据库的一个类DBHelper类 创建实体类(与数据库表一一对应) 创建业务逻辑类(DAO) 创建页面层 二.DBHelper类设计 1 package util; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 6 public class D

(JS实现顾客商品浏览记录以及购物车)Cookie的保存与删除

//JS实现顾客浏览商品的记录以及实现购物车的功能function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); //在最后追加 ;path=/ 非常有必要.否则容易出现 在不同的目录下,调用同一个js方法来存储Cookie,到别的目录取不出或取出的值是不对的这种情况 document.cookie = name + "=&

jsp写商品显示信息和cookie浏览记录,网上看到的好东西,记录一下。

这是本次项目结果,商品展示页面和浏览历史记录页面. 1,先从数据库入手:创建商品数据库. CREATE TABLE `items` (   `id` int(11) NOT NULL auto_increment,   `name` varchar(50) default NULL,   `city` varchar(50) default NULL,   `price` int(11) default NULL,   `number` int(11) default NULL,   `pict

PHPCMS 商品浏览记录及其遇到的问题

使用cookie   function _setHistory($data) {     if(!$data || !is_array($data))     {         return false;     }     //判断cookie类里面是否有浏览记录     if($_COOKIE["_productHistory"])     {         $history = unserialize(stripslashes($_COOKIE['_productHistor

jquery.cookie.js结合asp.net实现最近浏览记录

一.html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="

redis存储用户历史浏览记录

1:什么时候需要添加浏览记录 访问商品详情页的时候 2:什么时候取出浏览记录 访问用户个人中心的时候 用户查看商品的历史浏览记录存成什么格式: history_用户id:[商品id,商品id] 添加用户浏览记录: # 添加用户的历史记录history_用户id:[商品id,商品id,商品id]conn = get_redis_connection('default')history_key = 'history_%d' % user.id# 用redis的lrem方法将最早的那一条浏览记录移除掉