我使用chart.js製作餅圖。我希望爲while循環生成的每個切片分配不同的顏色。每行PHP隨機顏色
$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);
});
我發現,隨機的顏色會在整個圖表的頁面刷新上發生變化,但不會影響單個切片。任何想法?
你需要將'#999'變成一個變量,然後在每次迭代時改變它。 – chris85
只需將您在while循環中找到的示例放置在每個循環中即可觸發。 – Wobbles
[用PHP生成隨機十六進制顏色代碼]可能的副本(http://stackoverflow.com/questions/5614530/generating-a-random-hex-color-code-with-php) – chris85