php如何浏览历史记录

php如何浏览历史记录,第1张

/**

* 商品历史浏览记录

* $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位访客"

//多页面可以通过数据库来实现

//============================================

增加一个浏览次数字段,读取和修改数值即可,因为得根据具体程序才好写,这里就不贴代码了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11556499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存