我想实现数据库投票,具体要求是,不管是否登录,每个访问的IP,只能对每个文章投一次票,请看我的数据库thread--数据库中的表id 
title
contentifvote - 判断是否投票
ip --获取IP地址我想请问下,该如何做,才能每个IP,对每个帖子,只能投一次票呢?
谢谢

解决方案 »

  1.   

    一个IP只能一次?
    如果是网吧或者公司或其他的局域网呢?
    如果是PPPOE的动态拨号呢?
      

  2.   

    ip:lasttime|ip:lasttime|ip:lasttime|ip:lasttime 判断!
      

  3.   

    还是不会,请问能说具体点吗?
    我只想一个IP对一个帖子只能投票一次
    不管是网吧或者公司或其他的局域网或者是PPPOE的动态拨号
    我是新手,能说清楚点吗?
      

  4.   

    建三个表
    1.投票的主题表
    2.投票的选项
    3.记录表
    在投票前,先取得当前的ip,判断该文章是否有该ip记录。若无,可以投票,否则,提示已投票
      

  5.   

    举个例子一个IP记录字段,取出来是个类似
        202.201.1.1|202.201.1.2|202.201.1.3| ... ...字符串用explode( '|', $string )返回一个数组,然后in_array()判断是否数组里头已经存储了当前用户的IP地址!
      

  6.   

    建立两个表 ipvote thread  
    $id=$_GET['id'];
    $ip=get_ip();
    $rs=mysql_query(" INSERT INTO ipvote VALUE($id,$ip,1) ");
    if($rs)
    mysql_query(" UPDATE thread SET count=count+1 WHERE id=$id ");
    else echo "你已经投过票了!";大概意思就这样。
      

  7.   

    文章表:
    articleId  title content投票表:
    id  articleId IP count
    查投票表,如果存在IP和articleId相同的,则说明已经投过票了
    你可以把这两个字段设成UNIQUE索引,在查询的时候执行:
    INSERT IGNORE INTO 投票表 SET articleId='文章ID',IP='IP地址' ON DUPLICATE KEY UPDATE count=count+1
      

  8.   

    建立两个表   ipvote   thread     
    $id=$_GET['id']; 
    $ip=get_ip(); 
    $rs=mysql_query("   INSERT   INTO   ipvote   VALUE($id,$ip,1)   "); 
    if($rs) 
    mysql_query("   UPDATE   thread   SET   count=count+1   WHERE   id=$id   "); 
    else   echo   "你已经投过票了!"; 大概意思就这样。
    我使用了这个方法,还是不行啊