• 締切済み

PHP javascript の関係に関して

現在、MySQLよりPHPを用いてデータを取得し、PHPのある変数にデータを格納しています。 その結果を、javascriptの中でデータとして使用したいと考えていますが、そもそもPHPで格納されている変数をjavascriptの中で使用する事は可能なのでしょうか。。。 //例ですが、   $sql = "select aaa from AAA"; if (!mysql_select_db('db', $con)) { echo 'Could not select database'; exit; } mysql_query("set names sjis"); $result = mysql_query($sql,$con); $row = mysql_num_rows($result); $count = 1; for($i=0;$i<$row;$i++) { $array = mysql_fetch_array($result); $tmp_aaa[$count] = $array[0]; $count++; } <script type="text/javascript"> <!-- msgtxt = new Array(); for (i=0; i<3; i++){ msgtxt[i] = new Array(); } $count = 0; for($i=0;$i<$row_naiyou;$i++) { $msgtxt[$count] = $tmp_aaa[$count]; $count++; } というような形です。 javascript自体、php> ?>の中に囲まれていれば問題ないのでしょうか? 初歩的な質問で申し訳ありませんが、教えて下さい。

みんなの回答

  • maura
  • ベストアンサー率46% (48/104)
回答No.2

PHPの配列を、JavaScriptの配列に ひとつずつ 値を代入しています。 例えば // 配列の宣言 var week = new Array(7) ; '0~6の7要素を持つ配列が作成されます。 // 要素への代入 week[0] = "sun" ; week[1] = "mon" ; week[2] = "tue" ; week[3] = "wed" ; week[4] = "thu" ; week[5] = "fri" ; week[6] = "sat" ; のJavaScirptを PHPで配列から値を与えるために week[0] = "<?php ehco $Week[0] ?>"; と書いてもいいし <?php echo 'week[0] = "' . <?php ehco $Week[0] ?> . '";'; ?> と書いても大丈夫です。 配列の個数が決まっていればその数だけ 1行ずつ書いていけばいいのですが 決まっていないとすると For 分でJavaScript の配列を作成します。

参考URL:
http://www.site-cooler.com/kwl/javascript/5.htm
SANA_999
質問者

補足

すみません。 もう1度確認させて下さい。 <script> <!-- var tmp_aaa = New Array(); <?php for ( $i = 1; $i < $count; $i++ ){ print "tmp_aaa[i] = '" . $tmp_aaa[i] . "';"; ↑この部分でPHPの配列からjavascriptの配列へ 格納しているという事でしょうか??? } ?> --> </script> 何度も申し訳ありません。 教えて下さい。

  • maura
  • ベストアンサー率46% (48/104)
回答No.1

初歩的な回答として、JavaScriptをPHPでコーディングするという 方法で可能かと思います。 以下のコードは、PHPの配列をJavaScriptの配列にコピーしています <script> <!-- var tmp_aaa = New Array(); <?php for ( $i = 1; $i < $count; $i++ ){ print "tmp_aaa[i] = '" . $tmp_aaa[i] . "';"; } ?> --> </script> この結果、 -------------------------------------------- <script> <!-- var tmp_aaa = New Array(); tmp_aaa[1] = 'ABC'; tmp_aaa[2] = 'DEF'; tmp_aaa[3] = 'GHI'; } ?> --> </script>

SANA_999
質問者

補足

大変申し訳ありません。 初心者である為、教えて頂いた記述に解説を付けて頂けると 非常に助かります。。。 お願いします。

関連するQ&A

専門家に質問してみよう