[PHP-users 27560] IE6をリロードしないとJpGraphのグラフが更新されない
naya
SNA02388 @ nifty.com
2005年 11月 21日 (月) 17:06:02 JST
こんにちは。nayaと申します。
MySQLから読み込んだデータを用い、JpGraphで散布図を描かせてみたのですが、
プロットするデータを変えても IE6をリロードしないと描画したグラフの内容が
更新されません。
まず、フレームで上下に分割したページがあり、
・上段が、検索条件を入力するフォーム(年齢の切り分けをする)、
・下段に、X軸=身長、Y軸=体重の散布図が出力される、という構成があります。
問題ですが、
(1) 上段から、何も検索条件をつけずに検索します。
(2) 下段に、散布図が作成されます。
(3) 上段の検索条件(年齢)に「20歳以上30歳未満」と設定して再検索します。
(4) すると(2)と同じ散布図が出てきてしまいます。
(5) IE6をリロードすると「情報を再送信しないと…」云々といわれますが、
「再試行」を選択すると、意図した(20歳以上と30歳未満に絞り込まれた)
散布図が作図されます。
検索条件をとっかえひっかえしたら、その都度、条件に合致した散布図を表示さ
せたいのですが、毎度リロードしなければ無理でしょうか?何かうまい解決策は
ありませんでしょうか。
よろしくお願いします。
環境:
サーバー:FreeBSD 4.7、PHP4.3.11、MySQL 4.1.11
クライアント:WinXP/IE6のみを対象にしています。
一応、必要部分を抜き出した2ファイルのソースを掲載させていただきます。
---------------- 上段(検索フォーム: search.html)
<html><head></head><body>
<form method="post" action="scatter.php" target="frame2">
年齢
<input type="text" name="age_more"> 才 以上
<input type="text" name="age_less"> 才 未満
<input type="submit" value="検索">
</form>
</body></html>
---------------- 下段(散布図描画: scatter.php)
<?php
$con = mysql_connect(server, username, password);
$selectdb = mysql_select_db(dbname, $con);
$age_more = $_POST['age_more'];
$age_less = $_POST['age_less'];
$sql .= "SELECT * FROM MYTABLE ";
$sql .= "WHERE NUMB IS NOT NULL ";
if (strlen($age_more) > 0) {
$sql .= " AND (NENREI >= " . $age_more . ")";
}
if (strlen($age_less) > 0) {
$sql .= " AND (NENREI < " . $age_less . ")";
}
$rst = mysql_query($sql, $con);
$recmax = mysql_num_rows($rst);
for ($i = 0; $i < $recmax; $i++) {
$col = mysql_fetch_array($rst);
$datax[] = $col["SHINCHO"];
$datay[] = $col["TAIJU"];
}
include ("./jpgraph.php");
include ("./jpgraph_scatter.php");
$graph = new Graph(300,200,"auto");
$graph->SetScale("linlin");
$sp1 = new ScatterPlot($datay,$datax);
$graph->Add($sp1);
$graph->Stroke();
?>
--
naya,
SNA02388 @ nifty.com
PHP-users メーリングリストの案内