- ベストアンサー
PHPとJavascriptの連携についての質問
- PHPの側でCSVファイルからデータを読み込み、そのデータをJavascriptに渡して表示する方法について質問です。
- 質問のコードでは、CSVファイルのデータを配列に格納し、Javascriptで表示するためのカウンターを使用していますが、うまく動作しません。解決方法を教えてください。
- 質問では、PHPとJavascriptの連携についての問題を詳しく説明しており、サンプルコードを提供しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
PHPとJavascriptは全くの別物なので同じ変数を使っても意味はありません。 Javascriptデータを渡したいのであればPHPでJavascriptコードと共に 変数を書き込んだHTMLを吐き出させれば一番簡単だと思います。
その他の回答 (1)
- calltella
- ベストアンサー率49% (317/635)
元のコードを元に作ったコードです。 ファイルの内容の一番目しか表示しませんがコードを修正してみました。 後はご自分で勉強して修正してください。 <?php $fp = fopen("test.csv", "r"); //CSVファイルを開く $count = 0; //カウンターを初期化する while(!(feof($fp)))//ファイルの終端まで読み込む { $buf = fgets($fp, 1024); $buf = chop($buf); //文末にある改行文字を削除する $data = split(",", $buf); // , ごとに区切って配列に格納する $question[$count] = $data[0]; //question[]配列に$data[0]を格納する $answer[$count] = $data[1]; //answer[]配列に$data[1]を格納する print $question[$count]."<br>"; $count++; //カウンターを1進める } fclose($fp); ECHO "<script language=\"Javascript\">\n"; ECHO "question = new Array(".(count($question)-1).")\n"; for ($i=0;$i<=(count($question)-2);$i++){ ECHO "question[".$i."]='".$question[$i]."'\n"; } ?> function disp() { document.myform.mytext.value = question[0]; } </script> <form name="myform" > <input name="mytext" type="text"><br> <input name="mybutton" type="button" value="click" onclick="disp()"> </form>
お礼
イメージしていたことを実現することができました。 ありがとうございました。
補足
お返事ありがとうございます。 ちょっとまだ完全に理解できていないかもしれませんが、 PHPで読み込んだCSVファイルのデータ(配列のデータ)を Javascriptに渡すことは不可能ですか?