Sansu(算数)、Kokugo(国語)に、それぞれ、90、80…略、87、96、76…略
のようにテストの点が登録されてて、これを次のような形で取り出すとします。
$sql .= "SELECT * FROM MYTABLE";
$rst = mysql_query($sql, $con);
$recmax = mysql_num_rows($rst);
for ($recnum = 0; $recnum < $recmax; $recnum++) {
$col = mysql_fetch_array($rst);
echo $col["Sansu"];
echo $col["Kokugo"];
}
この、算数と国語を、次のような形にするには、どう書けばいいでしょうか?
$Sansu_X = array(90, 80・・・略);
$Kokugo_Y = array(87、96、76…略);
要は、JpGraphで、算数=X軸と国語=Y軸とすつ散布図を描かせたいのですが、
mysql_fetch_arrayで取り出した値を、下記の
「$datax = array(3.5・・・」、「$datay = array(20,22,・・・」のように
したいのです。
<?php
include ("../jpgraph.php");
include ("../jpgraph_scatter.php");
$datax = array(3.5,3.7,3,4,6.2,6,3.5,8,14,8,11.1,13.7);
$datay = array(20,22,12,13,17,20,16,19,30,31,40,43);
$graph = new Graph(300,200,"auto");
$graph->SetScale("linlin");
$graph->img->SetMargin(40,40,40,40);
$graph->SetShadow();
$graph->title->Set("A simple scatter plot");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$sp1 = new ScatterPlot($datay,$datax);
$graph->Add($sp1);
$graph->Stroke();
?>
No.3ベストアンサー
- 回答日時:
#2です。
この補足のコードを見る限り・・$dataX[] の意味が理解できていないと思われます。
$dataX[] はこの状態で既に配列になっているので、
$datax = array($dataX[]);
のように再度設定される必要はないです。
と書きつつも、私の回答もちょっとおかしかったようで誤解を招いてしまったようです。スイマセン
結局、今現在エラーになっている行は書く必要がありません。
全ての意味がつかめました(^^; 何度もすみませんでした。
素人考えで、どうしても
$datax = array(1,2,3...);
【こういう行がなければいけないのだ】と固定概念に縛られていました。
そうですよね、そうですよね
お恥ずかしい限りです。
無事、DBから取り出した値をプロットできましたm(_ _)m
No.2
- 回答日時:
$Sansu_X[] = $col["Sansu"]; //←■この行を追加
$Kokugo_Y[] = $col["Kokugo"]; //←■この行も追加
この行をそれぞれ
$dataX[] = $col["Sansu"];
$dataY[] = $col["Kokugo"];
として、下の方のコメントは元に戻す。
これでいいかと思いますよ。
この回答への補足
asahina02さん、貴重なレスありがとうございます。
ご教示の内容を文末のように理解しましたが、試してみると
Fatal error: Cannot use [] for reading in /usr/local/apache/htdocs/scat.php on line 「//■エラー」の行
のように、エラーになります。むむむ・・
何か些細なミスを犯しているのでしょうか・・・
for ($recnum = 0; $recnum < $recmax; $recnum++) {
$col = mysql_fetch_array($rst);
echo $col["Sansu"];
echo $col["Kokugo"];
$dataX[] = $col["Sansu"]; //■
$dataY[] = $col["Kokugo"]; //■
}
include ("../jpgraph.php");
include ("../jpgraph_scatter.php");
$datax = array($dataX[]); //■エラー
$datay = array($dataY[]); //■
$graph = new Graph(300,200,"auto");
$graph->SetScale("linlin");
$graph->img->SetMargin(40,40,40,40);
$graph->SetShadow();
$graph->title->Set("A simple scatter plot");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$sp1 = new ScatterPlot($datay,$datax);
$graph->Add($sp1);
$graph->Stroke();
?>
No.1
- 回答日時:
$x=array(100,90,80,70);
というのは
$x[]=100;
$x[]=90;
$x[]=80;
$x[]=70;
と同等です。
whileで流し込むだけでよいでしょう。
こんな感じです。
while($Row = mysql_fetch_array($rst,MYSQL_ASSOC)){
$Sansu_X[]=$Row["Sansu"];
$Kokugo_Y[]=$Row["Kokugo"];
}
この回答への補足
yamabejpさん、いつもお世話になっております。
ご教示のwhile文とは、元質問のfor文内を次のようにするのと同等ですよね?
for ($recnum = 0; $recnum < $recmax; $recnum++) {
$col = mysql_fetch_array($rst);
echo $col["Sansu"];
echo $col["Kokugo"];
$Sansu_X[] = $col["Sansu"]; //←■この行を追加
$Kokugo_Y[] = $col["Kokugo"]; //←■この行も追加
}
それで、質問の前後に、こちらでもいろいろ試してみたのですが
<?php
include ("../jpgraph.php");
include ("../jpgraph_scatter.php");
//$datax = array(3.5,3.7,3,4,6.2,6,3.5,8,14,8,11.1,13.7); //■←これをコメントにして
$datax = array($Sansu_X[]); //■←こうしてみましたが、エラー、それと、
$datay = array(20,22,12,13,17,20,16,19,30,31,40,43);
$graph = new Graph(300,200,"auto");
$graph->SetScale("linlin");
$graph->img->SetMargin(40,40,40,40);
$graph->SetShadow();
$graph->title->Set("A simple scatter plot");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
//$sp1 = new ScatterPlot($datay,$datax); //■←これをコメントにして
$sp1 = new ScatterPlot($datay[],$datax[]); //■こんなふうにしてもエラーなのですが。
$graph->Add($sp1);
$graph->Stroke();
?>
その後(JpGraphで描画するスクリプトの方(=<?php~?>の間))も
ご教示いただけると大変幸いなのですが。。。
いつも恐縮です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP jpgraphで表示されない 2 2022/10/22 09:12
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- JavaScript java keyを配列で表記したい 10 2022/12/01 17:53
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- PHP ファイルの書き込みについて教えて下さい。 1 2023/03/20 12:01
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- その他(プログラミング・Web制作) listへのappendが出来ない件 1 2022/12/06 21:44
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- C言語・C++・C# c言語について array[i]-‘0’ これってどーゆー意味ですか? (ちなみに16進数を10進数 5 2022/12/06 18:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スカラーのベクトル微分
-
Perlで重複行を削除したい
-
C言語 最大値と最小値を求めて...
-
C言語の配列をPush(追加)する...
-
PHPのセレクトボックスの初期値...
-
MySQLのデータをPHPで多次元...
-
構造体を動的に確保&解放
-
【PHP】チェックボックスの必須...
-
pythonのnumpyでの繰り返しでの...
-
行列
-
一度に複数の値を取得できる乱...
-
sizeof
-
Pager::factory()の使い方がわ...
-
特定の文からメールアドレスの...
-
System.String.Splitでエラー
-
PHPとMySQLで100万件のデータを...
-
Texでの数式
-
MYSQLとPHPによって取得する多...
-
PHPでDBの複数行更新について
-
配列を指定した順序でソート
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スカラーのベクトル微分
-
STLのvectorで作った配列をメン...
-
特定の文からメールアドレスの...
-
配列の要素(value)に、変数を...
-
読み(あ行~わ行)ごとに分け...
-
ファイルの書き込みについて教...
-
verilogで、配列の一部をタスク...
-
CArrayの要素としてCStringArra...
-
pythonのnumpyでの繰り返しでの...
-
C言語の配列をPush(追加)する...
-
php キーソート キーが重複した...
-
CArrayのソート
-
【PHP】配列のキー名の修正は可...
-
多次元配列をエンコードする関...
-
PHPは何故値渡しより参照渡しの...
-
cakephpでのトランザクション処...
-
pg_copy_fromの使い方について...
-
array_intersectで空欄を比較し...
-
濁点のソート
-
配列中のあるキー、値を取得し...
おすすめ情報