大家好我想要一个这样的广告代码有50条广告地址 每次随机读取3条广告 判断网友(A)的 IP 24小时内点击过的广告不要出现在Ta访问的页面、请问这样的代码应该怎么写? 有现成的吗?网友写了这个地址可惜我不会弄啊,麻烦各位大哥帮帮忙 实在急用啊、操作方法:
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.把上面的语句循环读取出来就可以了

解决方案 »

  1.   

    其实方法写得很清楚了
    time(存储客户点击时间)  我不知道这个字段是什么类型 假设他是 date类型
    $ip ="192.168.10.130";  //当前访问者的IP
    $date = "2011-11-14";   //时间
    $sql = "select aid from tablename where ip='".$ip."' and time='".$date."'"; //这一句能得出他今天点过的
    查询他没有点过的广告 用上面的not in
    $sql2=select * from advertising where aid not in("select aid from tablename where ip='".$ip."' and time='".$date."'");
    $query = mysql_query($sql2);
    while($row=mysql_fetch_array($query))
    {
       $rows[]=$row;
    }$rows就是没有点过的广告 数组结构
    在显示页 for循环下就可以手写有什么错 自己改下