簡體   English   中英

根據MySQL輸出分配div顏色

[英]Assign div colour based on MySQL output

不知道如何寫標題對不起。 基本上,我有一個注釋系統,它的工作原理非常簡單,從一個數據庫中選擇帖子的uid,然后從另一個數據庫中輸出與該UID關聯的注釋。

評論系統的本質是每個發布者都是匿名的,因此很難跟蹤您是否與同一個人進行交流,因此,我想使圍繞評論的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
}
?>

$ colour來自:$ colour = dechex(rand(0,10000000);但是我不確定如何在評論中使相同IP的每個實例的$ colour都相同...

任何幫助,將不勝感激!

我同意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
}
?>

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM