记录搜索关键字及搜索用户uid

1310阅读 0评论2012-04-27 远离繁华
分类:系统运维

因近期项目人才网的需求,需要记录搜索关键字及搜索用户uid,因为后面要用到热门关键字和我的最近搜索功能,对于我这个初级菜鸟来说,这方面还是比较欠缺,在对记录搜索用户uid时遇到了一些麻烦,最终加入flag才能解决了这个麻烦。
考虑到这个问题比较典型,特记录以备后来查用,以下为此部分代码:

点击(此处)折叠或打开

  1. $keys=$_GET['key'];//获取关键字

  2. $sql = "select id,hits,uid from ".table('searchkey')." where `key` = '".$keys."'";

  3. $a=$db->getall($sql);

  4. if($a==""){

  5. $sqlgo = "INSERT INTO ".table('searchkey')." (`id`,`uid`,`key`,`hits`) VALUES ('','".$_SESSION['uid']."','".$keys."','1')"; //如果没有该关键词记录则插入一条记录

  6. }else{

  7. /*如果有记录则搜索次数加1,uid设计为字符串,将uid和目前用户uid逐一对比,存在则不变,不存在则加入目前用户uid*/

  8. $hi=$a[0]['hits']+1;

  9. $uidarr=explode(",",$a[0]['uid']);

  10. $flag=false;

  11. foreach ($uidarr as $key=>$value){

  12. if($_SESSION['uid']==$value){

  13. $flag=true;

  14. break;

  15. }

  16. }

  17. if(!$flag){

  18. $a[0]['uid']=$a[0]['uid'].",".$_SESSION['uid'];

  19. }

  20. $sqlgo = "update ".table('searchkey')." set `hits`=".$hi.",`uid`='".$a[0]['uid']."' where id = ".$a[0]['id']." and `key`='".$keys."'";

  21. }

  22. $db->query($sqlgo);





  23. //获取简历热搜关键字
  24. function get_resume_searchkeys($uid,$limi)
  25. {
  26.     global $db;
  27.     if($uid==0){
  28.     $whilesql = " ";
  29.     $ordersql = " order by hits desc ";
  30.     }else{
  31.     $whilesql = " where uid like '%".$uid."%'";
  32.     $ordersql = " order by time desc ";
  33.     }
  34.     $sql = "select * from ".table('searchkey').$whilesql.$ordersql." limit ".$limi." ";
  35.     return $db->getall($sql);
  36. }

上一篇:IE6不能兼容使用的PNG透明图象解决之道
下一篇:畅销书排行榜