更正:上边的
【其中第2步的数据库操作我是这么写的:
SELECTTIME_TO_SEC(NOW())-TIME_TO_SEC(time_at)FROM`gbook`WHEREip_at='$ip'ANDuser_name='user1'ORDERBY`TIME_TO_SEC(NOW())-TIME_TO_SEC(time_at)`ASC】
这里的SQL语句为:
("SELECT TIME_TO_SEC( NOW( ) ) - TIME_TO_SEC( at_time ) FROM `counter` WHERE `name` = 'page1' AND `ip_addr` = '$ip_addr' ORDER BY `TIME_TO_SEC( NOW( ) ) - TIME_TO_SEC( at_time )` ASC");
【其中第2步的数据库操作我是这么写的:
SELECTTIME_TO_SEC(NOW())-TIME_TO_SEC(time_at)FROM`gbook`WHEREip_at='$ip'ANDuser_name='user1'ORDERBY`TIME_TO_SEC(NOW())-TIME_TO_SEC(time_at)`ASC】
这里的SQL语句为:
("SELECT TIME_TO_SEC( NOW( ) ) - TIME_TO_SEC( at_time ) FROM `counter` WHERE `name` = 'page1' AND `ip_addr` = '$ip_addr' ORDER BY `TIME_TO_SEC( NOW( ) ) - TIME_TO_SEC( at_time )` ASC");
如果用COOKIE有些操作可以客房端就阻止;
纯属个人观点
初始化网站的时候最好用
$timestamp = time();
这样如果要同时插入多条语句可以保持时间一致
$sql = "INSERT INTO yourtable SET ip='userip',lastime='$timestamp'";
把ip,lastime替换成你相应的字段名$sql = "SELECT lastime FROM yourtable WHERE ip='$userip'";
然后把数据库的结果和当前的$timestamp比较即可
终于可以用$acc_time = date("YmdHis");写入数据库了,时间类型为20060728212821
现在的问题就是,如何在浏览者进站的时候,判断其IP最后登陆的时间与本次IP的差,用SQL查询实现。但是我写了好多SQL语句,就是不能判断。我现在的写法是:
SELECT $acc_time - at_time FROM `counter` WHERE `name` = 'page1' AND `ip_addr` = '$ip_addr' ORDER BY `date("YmdHis") - int("at_time")` ASC$acc_time在前面已经赋值了【$acc_time = date("YmdHis");】
at_time 为MYSQL数据库中的一个字段名 存储的是20060728212821这样的时间日期。
请问如何写SQL可以用当前时间减去该IP存在数据库中的最后时间,让其最终得出一个差值?
再次感谢!
set the column as int type,then use:$ltime = mktime();
mysql_query("insert into tb (lasttime) values ($ltime)");to insert lasttime into database.and use:$do = mysql_query("select lasttime from tb where userid=$userid");
$rs = mysql_fetch_object($do);
$time = $nowtime - $rs->lasttime;
if($time<=5){//less than or equal 5 seconds
.....
}
else{
......
}