我目前正在使用 GD 为 PHP 创建一个条形图(inb4 使用 Java 脚本,我不能。这是一个要求)就目前而言,我在 GD 中有一个正常工作的条形图,我可以显示正常数字,但现在我是试图从 MYSQL 表中检索数据并将其显示在图表中。
require "connect.php";
$sql = "SELECT
title, searchcount
FROM movies
ORDER BY
searchcount DESC
LIMIT 10";
$result = $conn->query($sql);
if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
$data = [
$row['title'] => substr_count($row['searchcount'], "1"),
];
}
}
上述代码目前可用于检索所需的 10 个结果之一。我想不通的是如何找回其他 9 个,我们将不胜感激。
https://imgur.com/m8sU8QG 这是图表当前状态的链接
图形是如何绘制的。
/*
* Chart settings and create image
*/
// Image dimensions
$imageWidth = 700;
$imageHeight = 400;
// Grid dimensions and placement within image
$gridTop = 40;
$gridLeft = 50;
$gridBottom = 340;
$gridRight = 650;
$gridHeight = $gridBottom - $gridTop;
$gridWidth = $gridRight - $gridLeft;
// Bar and line width
$lineWidth = 1;
$barWidth = 20;
// Font settings
$font = 'OpenSans-Regular.ttf';
$fontSize = 10;
// Margin between label and axis
$labelMargin = 8;
// Max value on y-axis
$yMaxValue = 25;
// Distance between grid lines on y-axis
$yLabelSpan = 5;
// Init image
$chart = imagecreate($imageWidth, $imageHeight);
// Setup colors
$backgroundColor = imagecolorallocate($chart, 255, 255, 255);
$axisColor = imagecolorallocate($chart, 85, 85, 85);
$labelColor = $axisColor;
$gridColor = imagecolorallocate($chart, 212, 212, 212);
$barColor = imagecolorallocate($chart, 47, 133, 217);
imagefill($chart, 0, 0, $backgroundColor);
imagesetthickness($chart, $lineWidth);
/*
* Print grid lines bottom up
*/
}
忽然笑