- ベストアンサー
while文を使用せず、MYSQLから一度にデータを抽出する方法?
PHPのmysql関数を利用して、mysqlからデータを抽出しているのですが、while文を使用せず、MYSQLから一度にデータを抽出する関数、あるいは方法はあるんでしょうか? while文の外でそれらのデータを利用したいので、、、 どうぞご存知の方、ご教授ください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 yambejpさんの書いているとおりに、データ読み込みと グラフ作成を分ければ良いでしょう。 jpgraphのExsamplesにあるexample0.phpを元に サンプルを作ってみました。 これを見て、うまく行かないようでしたら、 具体的なコーディングとエラーメッセージが 欲しいところです。 ----------------- サンプル ---------------------- <?php include ("../jpgraph.php"); include ("../jpgraph_line.php"); // データの用意 //$ydata = array(11,3,8,12,5,1,9,13,5,7); $ydata = array(); $i=0; while($i++<10){ // ■ ここをmysql_fetch_arrayなどにする $ydata[] = sqrt($i); } // グラフの作成 以下の 2 種類の呼び出しが必ず必要です $graph = new Graph(350,250,"auto"); $graph->SetScale("textlin"); // リニア プロットを作成 $lineplot=new LinePlot($ydata); $lineplot->SetColor("blue"); // プロットをグラフに追加 $graph->Add($lineplot); // グラフを表示 $graph->Stroke(); ?>
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
#1です >while文の中だとエラーがでるので Jpgraphを深く理解する気はないのですが、 データの受け渡しは配列でおこなうのですよね? そしたら当然、whileでは配列への代入をおこない whileの外でデータを代入するんじゃないですか? はたしてどういうソースでためして、 どのようなエラーが表示されるのでしょう? 具体的な例示がないとさすがに答えられないですね。
お礼
ありがとうございました。 fire--さんのサンプルで成功しました。 この度はありがとうございました。
- fire--
- ベストアンサー率49% (146/293)
ざっと調べた範囲では、一括で取り出す手段はなさそうですね。極端に大きい結果になる場合にマシンリソースが問題になるからかもしれません。 どうも、この質問のポイントが判らないのです。なぜ、 while文の外で利用したいのでしょう? 単にwhileでなくすなら、forでも書けそうです。
補足
回答ありがとうございました。 そして、説明が下手で本当にすみません。 mysqlからmysql_fetch_arrayでデータを取り出し、(例えば20,30,40とか)それをJpgraphの値にしたいと考えているのですが、while文の中だとエラーがでるので、それならば、while文の外だと値として認識するのかな?と考えているのですが、、、、 別の方法でもいいのですが、何かよい知恵があれば教えて下さい。よろしくお願いします。
- yambejp
- ベストアンサー率51% (3827/7415)
>while文の外でそれらのデータを利用したいので 基本的には処理系と表示系をわけてつかえばよいのです。 whileで配列に一気にデータをおとし、 その後必要なデータを配列から呼び出せばよいでしょう。 もしくはwhileの外というものが、なにか特別な いみで使っている言葉であれば具体的に 例示してください。もっとよい回答が得られるかも しれません。、
補足
回答ありがとうございました。 そして、説明が下手で本当にすみません。 mysqlからmysql_fetch_arrayでデータを取り出し、(例えば20,30,40とか)それをJpgraphの値にしたいと考えているのですが、while文の中だとエラーがでるので、それならば、while文の外だと値として認識するのかな?と考えているのですが、、、、 別の方法でもいいのですが、何かよい知恵があれば教えて下さい。よろしくお願いします。
お礼
ありがとうございました。 サンプルがとても参考になりました。