* 商品历史浏览记录
* $data 商品记录信息 */private function _history($data)
{if(!$data || !is_array($data))
{return false
}
//判断cookie类里面是否有浏览记录
if($this->_request->getCookie('history'))
{$history = unserialize($this->_request->getCookie('history')) array_unshift($history, $data)//在浏览记录顶部加入
/* 去除重复记录 */
$rows = array() foreach ($history as $v)
{if(in_array($v, $rows))
{continue
}$rows[] = $v
}
/* 如果记录数量多余5则去除 */
while (count($rows) >5)
{array_pop($rows)//d出}
setcookie('history',serialize($rows),time() + 3600 * 24 * 30,'/')
}else
{$history = serialize(array($data))
setcookie('history',$history,time() + 3600 * 24 * 30,'/')
}
}
设计一张浏览文章表,字段用自增id、文章id、用户id、浏览时间、ip、客户端信息。。。用户每访问一次文章就向表中添加一条数据
查询某文章浏览量就是select count(*) from 浏览表 where 文章id=:id
查询某文章用户总量 select count(*) from 浏览表 where 文章id=:id group by 用户id
//单页面可以通过读取txt文件来实现//============================================
$count_num=0
//如果存放计数器文件已经存在,读取其中的内容
if(file_exists("counter.txt")){
//以只读方式打开counter.txt文件,counter.txt用来存入计数器的值
$fp=fopen("counter.txt","r")
//读取计数器的前8位数字
$count_num=fgets($fp,9)
//浏览次数加1
$count_num++
//关闭文件
fclose($fp)
}
//以只写的方式打开counter.txt文件把最新的计数值放入该文件中
$fp=fopen("counter.txt","w")
//写入最新的值
fputs($fp,$count_num)
//关闭文件
fclose($fp)
//浏览器输出浏览次数
echo "您是第$count_num位访客"
//多页面可以通过数据库来实现
//============================================
增加一个浏览次数字段,读取和修改数值即可,因为得根据具体程序才好写,这里就不贴代码了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)