PHP と Google Charts を使用していくつかのグラフを作成しようとしています。ユーザーがグラフに表示したい情報を選択するフォームを含む PHP ページがあります。フォームには、日付範囲、総売上高、ネットなどのデータが含まれています。フォームは GraphData.php に送信されます。ここでは、フォーム送信から受け取ったデータに基づいて MySql クエリを生成したいと考えています。そのデータを使用して、Google Charts の JSON オブジェクトを作成します。次に、ユーザー ID とセッション変数を含むフォームを Graphs.php ページに送信します。ここでは、Ajax を使用して JSON データを取得し、Google Chart を作成します。Graphs.php へのリダイレクト/フォーム送信に問題があります。これは可能ですか?GraphData.php のコードは次のとおりです。
// mysql stuff here ....
$result = mysql_query($sql, $myconn) or die(mysql_error());
//start the json data in the format Google Chart js/API expects to recieve it
$data = array('cols' => array(array('label' => 'Month', 'type' => 'string'),
array('label' => 'Ticket Sales', 'type' => 'number'),
array('label' => 'Amount Bet', 'type' => 'number'),
array('label' => 'Amount Won', 'type' => 'number'),
array('label' => 'Total Net', 'type' => 'number')),
'rows' => array());
// loop through the results and add them to the json object
while($row = mysql_fetch_row($result))
{
$data['rows'][] = array('c' => array(array('v' => $row[0]), array('v' => $row[1]), array('v' => $row[2]), array('v' => $row[3]), array('v' => $row[4])));
}
echo json_encode($data);
echo("<FORM id='redirect' name='redirect' method='POST' action='Graphs.php'>
<INPUT type='hidden' name='userid' value='$userid'>
<INPUT type='hidden' name='session' value='$session'>'
</form>");
?>
<script type="text/javascript">
function submit () {
var frm = document.getElementById("redirect");
frm.submit();
}
window.onload = submit;
</script>
ページは Graphs.php に正常にリダイレクトされますが、フォームが送信されず、JSON 文字列が無効であるというエラーが表示されます。私がやろうとしていることは本当に可能ですか?私はそれを間違っているだけですか?それとも別の方法がありますか?これが紛らわしい場合は申し訳ありません。さらに詳しい情報が必要な場合はお知らせください。どんな助けでも大歓迎です!前もって感謝します!!