• 締切済み

別の場所で記述したPHPの値参照

同じPHPファイル内の記述なんですが <script type="text/javascript"> function test(){  <?php   //ここで下記の$idの値を取得して変数$uketoriに参照させたいです   $uketori= ????  ?> } </script> <?php $id="0123"; ?> よろしくお願いします

みんなの回答

  • kool_noah
  • ベストアンサー率33% (95/285)
回答No.2

htmlで表示されているのはクライアント側 phpはサーバーサイドなのでリクエストないとどうにもできないのでは? で、サーバーサイドにリクエスト投げてるんだけど、そうみせないのがajax 質問者さんのしたいことは、phpで吐き出されたhtmlにidって変数があって、そのidをtest($id)でjavascriptに渡してますよね で、さらにそこからphpに渡すという事はサーバーサイドでの処理が必要ということでしょうか? 例えばDBにアクセスしないといけないとか? table作るところの処理をはしょってる様なのでなんとも言えませんが・・ <script type="text/javascript"> function test(id){  var html = '<table> ' + id + '<table>';  document.getElementById("insert").innerHTML=html; } </script> <body> <?php  $id="0123"; //ボタンをクリックしたらidを関数に飛ばします echo "<input type=submit value=click onclick=test(".$id.")>"; echo "<div id=insert></div>"; ?> </body> で、良いような気もするんですが・・ 関数内でidをどう使いたいかにもよりますけど

Gospel0102
質問者

お礼

返事遅くなりました。 回答ありがとうございます。 kool_noahさんの言うとおりクライアントサイドとサーバーサイドがゴチャ混ぜでどうにもならなかったのですが、別の方法でサーバーサイドのPHPだけで処理を行うように仕様変更をかけ解決しました。 ご丁寧にアドバイスをして頂き、とても助かりました。 ありがとうございます。

  • kool_noah
  • ベストアンサー率33% (95/285)
回答No.1

いまいち意図が読めないので、見当違いの事書いてそうですが・・ PHPの変数をjavascriptなりformのhiddenなりに埋め込まないとでわ? <script type="text/javascript"> <?php $id="0123"; ?> function test(){  <?php   //ここで下記の$idの値を取得して変数$uketoriに参照させたいです   $uketori= $id;  ?> } </script>

Gospel0102
質問者

お礼

アドバイスのお礼を忘れていました

Gospel0102
質問者

補足

kool_noahさん回答ありがとうございます PHPの変数をjavascriptに埋め込めればホントはいいのですが、訳があってそれが出来ません。 ちょっと説明不足な点があったので補足させて頂きます <script type="text/javascript"> function test(id){ <!-- 問題(1) 引数にidを持たせていますがPHPの変数には代入できません。-->  <!-- 問題(2) ggってみるとajaxの考えが良いみたいですが納期の関係上、勉強する時間がありません。-->  <?php   //ここで下記の$uketoriに引数のidか下方のPHPの$idの値を代入する   $uketori= ?????;   //$uketoriの値を元にtableを作り、html文のinsertに代入をする   echo "var html= '<table>$uketori</table>';";  ?> document.getElementById("insert").innerHTML=html; } </script> <body> <?php //訳があって$idの値はここでしか取得できません。恐縮ですが理由は長くなるので割愛させて頂きます。 $id="0123"; //ボタンをクリックしたらidを関数に飛ばします echo "<input type=submit value=click onclick=test(".$id.")>"; echo "<div id=insert></div>"; ?> </body> かなりややこしく考えているのですが、body内での$idの値取得の位置を変えることができません。 body内の$id="123";の位置を変えず、その値を関数で使いたいです。 かなり無理なこと言ってすみません><; どうかお力をお貸しください。

関連するQ&A