※ ChatGPTを利用し、要約された質問です(原文:MysqlデータをJpgraphで表示できません)
MysqlデータをJpgraphで表示できません
このQ&Aのポイント
Mysqlデータを取得し、phpでjpgraph画像を作成する方法について教えてください。
phpコードを使ってMysqlデータを取得し、折れ線グラフを表示できません。
Mysqlデータを手入力するとグラフが表示されるのに、データベースから取得するとエラーが出ます。どうすれば解決できますか?
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のデータを表示
することができます。
どうすれば折れ線グラフを描くことができるのでしょうか?