2012-04-11 76 views
0

不知道如何将标题字对不起。基本上我有一个评论系统,它的工作原理非常简单,从一个数据库中选择帖子的uid,然后从另一个数据库输出与该UID绑定的评论。根据MySQL输出分配div颜色

评论系统的本质是每个海报都是匿名的,因此,很难追踪您是否与同一个人进行通信,因此,我想让div围绕评论是一种特定的颜色,并且该人在该帖子上的每条评论都是该颜色。将用户注释关联在一起的唯一因素是IP地址。

我的代码迄今:

$sql = "SELECT * FROM anonpost_com WHERE uid = '$uid' ORDER BY date DESC"; 


$result = mysql_query($sql) or print ("Can't select entry from table anonpost.<br />" . $sql . "<br />" . mysql_error()); 

while($row = mysql_fetch_array($result)) { 
    $date = date("l F d Y", strtotime($row['date'])); 
    $comment = stripslashes($row['comment']); 
    $uid = ($row['uid']); 
    $cid = ($row['cid']); 
    $ip = ($row['ip']); 


     ?> 



<div id="comments" style="border:1px solid <?php echo $colour; ?>;"> 
<p><?php echo $comment; ?></p> 
<h4>by <i>Anonymous</i> on <?php echo $date; ?></h4> 
</div> 
<?php 
} 
?> 

$颜色来自: $颜色= dechex(兰特(0,10000000); 但我不能确定如何使$颜色为每个实例相同!在评论同一IP ...

任何帮助,将不胜感激

+0

你知道ip!= person。一人多ips; 1个ip多人 – 2012-04-11 20:43:18

+0

您可以在用户的​​浏览器上设置一个cookie,并使用它来代替IP地址来识别该人。这不是万无一失的(如果他们改变浏览器,清除cookie或从另一台机器访问),但可能比IP更好取决于你的情况。另外考虑用户数量不是很少的一些颜色会重叠,或者至少看起来像(#ff0000几乎与#fd0102相同) – Adam 2012-04-11 20:49:14

+0

我知道IP不是最好的解决方案,这个是我们使用它的唯一地方,它不是非常重要,十六进制也会出现在“匿名”旁边(请参阅http://anonpost.me/permalink.php?uid=bgkYgWcnjSLrw2YH)这是最快的解决方案目前,这就是我需要的 – AviateX14 2012-04-11 21:11:21

回答

1

的我都同意,IP地址可能不是最好的解决办法,但要做到这一点:

$sql = "SELECT * FROM anonpost_com WHERE uid = '$uid' ORDER BY date DESC"; 

$colours = array(); 
$result = mysql_query($sql) or print ("Can't select entry from table anonpost.<br />" . $sql . "<br />" . mysql_error()); 

while($row = mysql_fetch_array($result)) { 
    $date = date("l F d Y", strtotime($row['date'])); 
    $comment = stripslashes($row['comment']); 
    $uid = ($row['uid']); 
    $cid = ($row['cid']); 
    $ip = ($row['ip']); 
    if (!isset($colours[$ip])) { 
     $colours[$ip] = dechex(rand(0,10000000); 
    } 
    $colour = $colours[$ip]; 


     ?> 



    <div id="comments" style="border:1px solid <?php echo $colour; ?>;"> 
     <p><?php echo $comment; ?></p> 
     <h4>by <i>Anonymous</i> on <?php echo $date; ?></h4> 
    </div> 
<?php 
} 
?> 

请注意,每次页面加载时颜色都会改变。