• ベストアンサー

while文を使用せず、MYSQLから一度にデータを抽出する方法?

PHPのmysql関数を利用して、mysqlからデータを抽出しているのですが、while文を使用せず、MYSQLから一度にデータを抽出する関数、あるいは方法はあるんでしょうか? while文の外でそれらのデータを利用したいので、、、 どうぞご存知の方、ご教授ください。

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

  • ベストアンサー
  • fire--
  • ベストアンサー率49% (146/293)
回答No.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(); ?>

iou3
質問者

お礼

ありがとうございました。 サンプルがとても参考になりました。

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

#1です >while文の中だとエラーがでるので Jpgraphを深く理解する気はないのですが、 データの受け渡しは配列でおこなうのですよね? そしたら当然、whileでは配列への代入をおこない whileの外でデータを代入するんじゃないですか? はたしてどういうソースでためして、 どのようなエラーが表示されるのでしょう? 具体的な例示がないとさすがに答えられないですね。

iou3
質問者

お礼

ありがとうございました。 fire--さんのサンプルで成功しました。 この度はありがとうございました。

  • fire--
  • ベストアンサー率49% (146/293)
回答No.2

ざっと調べた範囲では、一括で取り出す手段はなさそうですね。極端に大きい結果になる場合にマシンリソースが問題になるからかもしれません。 どうも、この質問のポイントが判らないのです。なぜ、 while文の外で利用したいのでしょう? 単にwhileでなくすなら、forでも書けそうです。

iou3
質問者

補足

回答ありがとうございました。 そして、説明が下手で本当にすみません。 mysqlからmysql_fetch_arrayでデータを取り出し、(例えば20,30,40とか)それをJpgraphの値にしたいと考えているのですが、while文の中だとエラーがでるので、それならば、while文の外だと値として認識するのかな?と考えているのですが、、、、 別の方法でもいいのですが、何かよい知恵があれば教えて下さい。よろしくお願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>while文の外でそれらのデータを利用したいので 基本的には処理系と表示系をわけてつかえばよいのです。 whileで配列に一気にデータをおとし、 その後必要なデータを配列から呼び出せばよいでしょう。 もしくはwhileの外というものが、なにか特別な いみで使っている言葉であれば具体的に 例示してください。もっとよい回答が得られるかも しれません。、

iou3
質問者

補足

回答ありがとうございました。 そして、説明が下手で本当にすみません。 mysqlからmysql_fetch_arrayでデータを取り出し、(例えば20,30,40とか)それをJpgraphの値にしたいと考えているのですが、while文の中だとエラーがでるので、それならば、while文の外だと値として認識するのかな?と考えているのですが、、、、 別の方法でもいいのですが、何かよい知恵があれば教えて下さい。よろしくお願いします。

関連するQ&A

専門家に質問してみよう