PHP 每行随机颜色

标签 php jquery

我正在使用 Chart.js 制作饼图。我希望 while 循环生成的每个切片都有不同的颜色。

$pull_request = 'SELECT * FROM `oc_aa_affiliatecollclicktracking`';
$sqli = $db->query($pull_request);

$num_rows=mysqli_num_rows($sqli);
$cur_row=0;
var pieData = [
                <?php 
                while ($row = mysqli_fetch_array($sqli)) {      
                $color=intval(256*$cur_row/($num_rows-1));
                $cur_row++;
                echo    '{
                            value: '.$row["product_clicks"].',
                            color: "rgb(256,'.$color.')", // NEED TO BE RANDOM FOR EVERY ROW/SLICE
                            highlight: "#333",
                            label: "' .$row["product_id"].'"
                            },';
                }
                ?>
                ];

                var ctx = document.getElementById("chart-area").getContext("2d");
                window.myPie = new Chart(ctx).Pie(pieData);

} );

我发现随机颜色会在整个图表的页面刷新时发生变化,但不会针对单个切片发生变化。有什么想法吗?

最佳答案

您可以使用rand()函数来获取特定范围内的随机数。 看看here

示例:

$color = "#" . rand(10,100);

你可以在任何你想要的地方替换$color。

如果您想要十六进制颜色,请使用此函数

function random_color(){
    mt_srand((double)microtime()*1000000);
    $c = '';
    while(strlen($c)<6){
        $c .= sprintf("%02X", mt_rand(0, 255));
    }
    return $c;
}

关于PHP 每行随机颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33219168/

相关文章:

PHP5.6和APC安装

javascript - 删除对象数组中的记录 jQuery

jQuery cycle2 寻呼机不工作

javascript - HTML/Javascript/jQuery 页面具有在一种状态下有效但在另一种状态下无效的功能

jQuery stopPropagation 不起作用

jquery插件自定义方法

php - 有没有比附加 sql 字符串更好的方法来生成条件 sql?

php - 如何禁用 Laravel 5 日志文件?

PHP GD - 如何按顺序从 3 个 png 图像创建一个新的 png 图像

使用 Bootstrap3 忽略 PHP 代码的 Javascript WYSIWYG