#!/usr/bin/perl
use strict;
use DBI;
use GD::Graph::Data;
use GD::Graph::bars;
my $batchnumber = '20170903nervana';
my $sql = '
SELECT time, mastuntemp, LineTemp, spargtemp
FROM brew_temp_tb
WHERE sitename = ?
AND batchnumber = ?
ORDER BY time';
my $dbh = dbh(); # connect
my $sth = $dbh->prepare($sql);
$sth->execute('Brew',$batchnumber);
my $data = GD::Graph::Data->new();
while (my @row = $sth->fetchrow_array){
$data->add_point(@row);
}
my $chart = GD::Graph::bars->new();
my $gd = $chart->plot($data);
open(IMG, '>','bar.png') or die $!;
binmode IMG;
print IMG $gd->png;
# connect
sub dbh{
my $database = "test";
my $user = "user";
my $pw = "password";
my $dsn = "dbi:mysql:$database:localhost:3306";
my $dbh = DBI->connect($dsn, $user, $pw,
{ RaiseError=>1, AutoCommit=>1 } );
return $dbh;
}
poj |