操作方法: 1.把50条广告地址存储在advertising表中,字段为:id(主键),url(广告地址) 2.每次登陆的用户ip存储在ip表中,字段有:ip(存储客户ip),time(存储客户点击时间),aid(存储广告advertising表id) 3.每次客户开始点击广告可以先判断客户第一次点击时间与现在点击时间的时间差(看超过24小时没有) sql语句可以这样写: sql="select * from `advertising` where id not in (select aid from `ip` where timestampdiff(hour,time,now())<24) order by rand() limit 3" 4.把上面的语句循环读取出来就可以了注:表最好做过索引,优化,不然那个嵌套语句怕读出来会影响效率(50条似乎看不出来)
1.把50条广告地址存储在advertising表中,字段为:id(主键),url(广告地址)
2.每次登陆的用户ip存储在ip表中,字段有:ip(存储客户ip),time(存储客户点击时间),aid(存储广告advertising表id)
3.每次客户开始点击广告可以先判断客户第一次点击时间与现在点击时间的时间差(看超过24小时没有)
sql语句可以这样写:
sql="select * from `advertising` where id not in (select aid from `ip` where timestampdiff(hour,time,now())<24) order by rand() limit 3"
4.把上面的语句循环读取出来就可以了注:表最好做过索引,优化,不然那个嵌套语句怕读出来会影响效率(50条似乎看不出来)
timestampdiff(hour,time,now())<24)这个怎么解释呢?
记录ip的时间与现在的时间做个对比,不到24小时的就不要显示出来