我建了一个数据库allpost
一共有几个键值id - 序号(自动)
name -  发帖人名字
ip - 发帖人ip
time - 发帖时间我想实现的是
同一个IP可以天天发帖,但是每天只能发一次帖,请问我该怎么做呢?该怎么判断呢?
谢谢

解决方案 »

  1.   

    我的想法是在表allpost中在加一个键值post(NULL型),如果一天之内发过贴,就将post标记。不知道是不是你想要的意思
      

  2.   

    加一个时间段dtmPost
    if hour(dtmPost-now)<24 then response.write "post too much"
      

  3.   

    $result=mysql_query("select count(*) from allpost where name='$name' and time>now() - interval 1 day");
    $row=mysql_fetch_row($result);
    if($row[0]) echo "Post too much";
      

  4.   

    同意sandssss的逻辑。
    但要增加一个用户表叫user,
    表中包括idx meduimint(8), user_name和post_status int(11)
    判断发贴状态,在用户完成本日发贴时用time()获得的值来Update post_status,
    再用户试图下一次发贴时与当前time()获得的值与user.post_status的值比较,
    如果差值大于24*3600由发贴,同时再次Update user.post_status的值,
    如果差值小于24*3600,则发贴失败。
      

  5.   

    zjerryj  正解,不过要修改一下,因为有可能出现同一用户在不同IP地址下发只要查询一下同一天该IP有没有存在
    $result=mysql_query("select count(*) from allpost where ip='.$_SERVER["REMOTE_ADDR"].' and time>now() - interval 1 day");
    $row=mysql_fetch_row($result);
    if($row[0]) echo "Post too much";
      

  6.   


    $result=mysql_query("select count(*) from allpost where name='$name' and time>now() - interval 1 day");
    $row=mysql_fetch_row($result);
    if($row[0]) echo "Post too much";