みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

MysqlデータをJpgraphで表示できません

Mysqlからデータを取り出してphpにてjpgraph画像を作りたい思っているのですが、
どうもできません。

phpコードはこちらになります。--------------------

<?php
// データベースに接続
if(!$con=mysql_connect("127.0.0.1","root","xxxxx")){
echo"接続失敗";
exit;
}
// データベースを選択
if(!mysql_select_db("stock",$con)){
echo"database select error";
exit;
}
// SELECT文を実行
$sql="SELECT *
FROM `tstock`" ;
if(!$res=mysql_query($sql)){
echo "SQL error cannot connect mysql table<BR>";
exit;
}
// 全人数を格納
$all_num=0;
while($row=mysql_fetch_array($res)){
$all_num+=$row["KO"];
}
// データ取得位置を先頭に戻す
if (!mysql_data_seek ($res, 0)){
echo "データ取得位置の移動失敗<BR>";
exit;
}
//折れ線グラフの表示 -------------------------
require_once("jpGraph/jpgraph.php");
require_once("jpGraph/jpgraph_line.php");
require_once("jpGraph/jpgraph_canvas.php");

// データ
$xdata = array();
while($row=mysql_fetch_array($res)){
$ydata = array($row['KO']);
}
//グラフ作成
$graph = new Graph(600,500,"auto");
$graph->img->SetImgFormat("png");
$graph->SetScale("textlin");
$graph->title->Set("Line Plot Example");
$graph->xaxis->SetTickLabels($xdata);
$graph->xaxis->title->Set("Month");
$graph->yaxis->title->Set("y-title");

$lp1 = new LinePlot($ydata);
$lp1->SetLegend("Temperature");
$graph->Add($lp1);
$graph->Stroke();

// 結果セットの解放
mysql_free_result($res);
// データベースから切断
mysql_close($con);
?>

---------------------------------------------------
グラフ用データを手入力
$ydata1 = array(83,19,20,40,50);
とするとグラフが描けるのですが、

以下からMYSQLデータを引っ張るとエラーがでてグラフを
作ることができません。


$xdata = array();
while($row=mysql_fetch_array($res)){
$ydata = array($row['KO']);
}
-------------------------------------------------------

mysql接続確認は別のファイルにて試したところ
ちゃんとHTML上で接続と、mysqlのデータを表示
することができます。


どうすれば折れ線グラフを描くことができるのでしょうか?

投稿日時 - 2012-01-24 15:54:23

QNo.7263894

困ってます

質問者が選んだベストアンサー

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

jpgraphの仕様がよくわからないので想像ですが

>$ydata1 = array(83,19,20,40,50);
>とするとグラフが描けるのですが、

つまり$ydata1に数値の配列を代入すればいいのであれば

>while($row=mysql_fetch_array($res)){
>$ydata = array($row['KO']);
>}

while($row=mysql_fetch_array($res)){
$ydata[] = array($row['KO']);
}

だけで解決するかもしれません。

投稿日時 - 2012-01-24 16:36:24

あなたにオススメの質問