每点击一次静态页面刷新,点击率增加1,这需要在静态页面中加入一段juqery代码,我是这样写的:<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript">
$(function(){
var date="action=update&ids="+<%$id%>;
 var url="../test.php";
 $.post(url,date,function(result){
     $('#hits').text('result');
 });
});
</script>
</head><body>
<div>点击:<span id="hits"></span></div>
</body>
然后在test.php文件中写的是:if($_POST['action'] && $_POST['action']<>''){
$ids=$_GET['ids'];
  $upsql="update `file` set `hits`=hits+1 where id=".$ids;
  $db->getRow($upsql);
  $sesql="select `hits` from `file` where `id`=".$ids;
  $result=$db->getRow($sesql);
}怎么点击率不变呀? 麻烦给我修改一下,或者给出新的编写代码,使点击率能更新

解决方案 »

  1.   

    没用过jquery,不过感觉有点问题
    <script type="text/javascript" src="../js/jquery.js"></script>
    </head><body>
    <div>点击:<span id="hits"></span></div>
    <script type="text/javascript">
    $(function(){
    var date="action=update&ids="+<%$id%>;
     var url="../test.php";
     $.post(url,date,function(result){
         $('#hits').text('result'); //result多了引号$('#hits').text(result);
     });
    });
    $()不知道是什么意思,是load后,还是即使的,如果是即使的就应该在<span id="hits"></span>下面
    </script>
    </body>另外,ajax默认的提交方式是get还是post,检查一下数据是否能接收到
      

  2.   

    数据库中+1了吗?如果数据库更新成功了,还需要在test.php中输出+1后的值,从函数名来看,getRow()方法不像是执行sql语句。
    另外,我觉得应该叫点击量更合适,点击率应该表示的是一个点击比例,比如我的网站今天一共有1000个pv,其中某一个链接的pv次数是100,那这个链接的点击率就是10%
      

  3.   

    楼主的ajax能访问的到你的test.php文件吗,路径"../"的还真没用过
      

  4.   

    还有var date="action=update&ids="+<%$id%>中的<%$id%>一直怎么不变呢?你应该用result来给date赋值
      

  5.   


    不好意思,result加引号是我调试的时候加的,这里忘了去掉了,不过去掉引号也不对
    因为我这里用的是$.post  所有php文件里也是用$_POST接收
      

  6.   

    我是用的smarty,点击不用的文章 id是不同的,所以这里的id值是不一样的
      

  7.   

    能不能把你的php部分代码发出来看看,sql部分