2012-04-11 54 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 
} 
?> 

請注意,每次頁面加載時顏色都會改變。