上面有个insert用错了.应该用update.首先,你先将所有栏目名称insert好.比如有这2条数据. name(栏目名称)|todayHitCount(今日访问量)|yesterdayHitCount(昨日访问量)|dateNow(当前日期) yahoo |0 |0 |2007-02-08 sina |0 |0 |2007-02-08 当有用户访问yahoo了,你先select这个表,从记录集里面取出这个$hitCount['dateNow'],也就是2007-02-08,与date("Y-m-d")比较一下,如果相等,直接update一下yahoo这条数据的todayHitCount字段. "update hitCount set `todayHitCount` = `todayHitCount`+1 where name = 'yahoo'"; 如果不相等的话,就证明已经过了一天了,那么就update下yesterdayHitCount,将它的值改为todayHitCount的.然后将todayHitCount字段置为1并且将dateNow这个字段置为date("Y-m-d")."update hitCount set `todayHitCount` = 1,`yesterdayHitCount` = ".$hitCount['todayHitCount'].",`dateNow` = ".date('Y-m-d')";这样就可以了.date("Y-m-d")总是在变的,而字段dateNow是不可能总与他相等的.
最后这个也需要加个where name = 'yahoo';我最近老是丢三落四的."update hitCount set `todayHitCount` = 1,`yesterdayHitCount` = ".$hitCount['todayHitCount'].",`dateNow` = ".date('Y-m-d') where name = 'yahoo'";
表名:hitCount
name(栏目名称),todayHitCount(昨日访问量),yesterdayHitCount(今日访问量),dateNow(当前日期)$date = date("Y-m-d");
$sql = "select * from hitCount";/*以下为查询代码,略*/
...
$hitCount为查询出的记录集
/**/if($hitCount['dateNow'] != $date){
$sql_insert = "insert into hitCount(`yesterdayHitCount`) values('".$hitCount['dateNow']."')";
mysql_query($sql);
$sql_update = "update hitCount set todayHitCount = 1";
}
name(栏目名称)|todayHitCount(今日访问量)|yesterdayHitCount(昨日访问量)|dateNow(当前日期)
yahoo |0 |0 |2007-02-08
sina |0 |0 |2007-02-08
当有用户访问yahoo了,你先select这个表,从记录集里面取出这个$hitCount['dateNow'],也就是2007-02-08,与date("Y-m-d")比较一下,如果相等,直接update一下yahoo这条数据的todayHitCount字段.
"update hitCount set `todayHitCount` = `todayHitCount`+1 where name = 'yahoo'";
如果不相等的话,就证明已经过了一天了,那么就update下yesterdayHitCount,将它的值改为todayHitCount的.然后将todayHitCount字段置为1并且将dateNow这个字段置为date("Y-m-d")."update hitCount set `todayHitCount` = 1,`yesterdayHitCount` = ".$hitCount['todayHitCount'].",`dateNow` = ".date('Y-m-d')";这样就可以了.date("Y-m-d")总是在变的,而字段dateNow是不可能总与他相等的.