为gif.nbqq.net搞笑图片站做一个搜索记录内容展示的模块

写这个模块的目的是记录下访客在本站的搜索记录,然后再展示出来,当然还是搭配咱的php+mysql 了。这个想法是我在年前回家的火车上首页出来的。一来可以增加收录,二来显得专业不是,呵呵

好的,先来看下search_history表结构:

3个字段:id(递增),searchword(搜索内容,不能为空),addtime(该记录添加时间)。

建表php:

$sql_cre_search_history=mysql_query(“CREATE TABLE IF NOT EXISTS `search_history` (
`id` int(100) NOT NULL auto_increment,
`searchword` varchar(20) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NOT NULL,
`addtime` datetime NOT NULL,

PRIMARY KEY (`id`)
)”);

刚百度了下,varchar 20是不超过10个汉字的意思。

ok,因为原先已有一个search.php了,这个页面是一个简单的php查询页面。现在要做的就是在每一次搜索请求发出时,只要搜索内容不为空,那么就把该条记录存在search_history表里边。let’s go

if($_POST[content]!=””){

$sb=$_POST[content];
$searchword=trim($sb);//去字符左右空格
mysql_query(“insert into search_history values (”,’$searchword’,now()”);}

在生成 表时遇到一个这样的问题:生成的新表是utf8_general_ci,老表是:latin1_swedish_ci??没时间搞了,就去phpmyadmin纠正过来了,以后再说这个问题。

再来一个显示最近搜索的5个关键词的模块:直接上PHP:

$result_latest_five=mysql_query(“select * from search_history order by id desc limit 5”);
while($rows_latest_five=mysql_fetch_array($result_altest_five)){

$data_latest_five[]=$rows_latest_five;
}

这样就在数组:$data_latest_five里了。

基本就是这样了,来一个最终页面吧(不过具体功能还没有测试,慢慢完善吧)http://gif.nbqq.net/search.php?content=美女

Leave a Reply