• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:集計結果をiframeの中に表示するには?)

集計結果をiframeの中に表示するには?

このQ&Aのポイント
  • phpとMysqlで、データ項目を選択して、クロス集計をさせて表示させようとしています。クロス集計の結果テーブルの大きさが凄く大きくなるので、iframeの中に表示させてスクロールして結果を見るようにしたいのですが、選択項目の送信先(postデータの送信先)と画面遷移とをちがうページにしたいのですが、どのようにしたらいいかわかりません。
  • 初心者です宜しくお願い致します。
  • 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#30334
noname#30334
回答No.4

う~む、私も勘違いしていたようです。申し訳ありません。 PHPから離れますが、解決策を2通り。 1.スタイルシート{ overflow: scroll; }を使う  iframeではなく、結果を表示するTABLEだけに  スクロールバーを付けます。幅と高さも当然固定します。  下記に詳しく説明してあります。  http://www.htmq.com/style/overflow.shtml 2.JavaScriptでsubmitする  インラインフレームを埋め込むページにて、  POSTで受け取ったデータを全てformのhidden要素に入れる  <INPUT type="hidden" name="a" value="<?PHP print $_POST["a"]; ?>">  JavaScriptで  document.form_name.submit();  を実行する。  これは、ボタンのアクションではないので、  function内に入れない事。  ページを読み込んだ時に勝手にsubmitする感じですね。  <FORM name="..." action="..." target="...">  ~  </FORM>  の後に入れないとエラーが出るかもしれませんので、順番に注意。

参考URL:
http://www.htmq.com/style/overflow.shtml
hrf
質問者

お礼

たびたびありがとうございます。 あきらめていたのに、ご回答いただき恐縮しております。 overflowの方でスクロール表示することが出来ました。 最後までお付き合いくださり感謝しております。 ありがとうございました。

その他の回答 (3)

noname#30334
noname#30334
回答No.3

ダメですか?我が家の環境では、上手くいきました。(Apache1.3 + PHP4.2.3) ソースを載せときます。 **** form.htmlのソース *********************************** <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=EUC-JP"> </HEAD> <BODY bgcolor="#FFFFFF" text="#000000"> <FORM method="post" name="frm1" action="./test.php" target="a"> <INPUT type="text" name="txt1" size="6" value=""> <SELECT name="sel1"> <OPTION value="1">001</OPTION> <OPTION value="2">002</OPTION> </SELECT> <INPUT type="submit" name="submit" value="submit"> </FORM> <IFRAME name="a" src="dummy.html" width=400 height=300> </BODY> </HTML> **** test.phpのソース ************************************ <?PHP header("Content-type: text/html; charset=EUC-JP"); $strTxt1 = $_POST["txt1"]; $strSel1 = $_POST["sel1"]; print "txt1=" . $strTxt1 . "<br>"; print "sel1=" . $strSel1 . "<br>"; ?> **********************************************************

参考URL:
http://www.capacitance.net/form.html
hrf
質問者

補足

なんどもご回答ありがとうございます。 お手数をおかけして恐縮です。 当方でも、上記のようにフォームのあるページに、 インラインフレームを設置するとうまくいきます。 しかし、ボタンを押した時、違うページ移行して、 その移行したページにあるインラインフレームの中には データが行かないようです。 http://oshiete1.goo.ne.jp/qa1697381.html ↑によると、どうやら厄介そうなのであきらめます。 丁寧にサンプルまで作っていただきありがとうございました。 自分の説明のしかたが悪かったようで、申し訳ございませんでした。 ”画面遷移”という言葉を、違うページに移ることだと思っていました。 すみません。それでは。

noname#30334
noname#30334
回答No.2

下記のような感じです。 <FORM method="post" name="frm1" action="./test.php" target="a"> <INPUT type="submit" name="submit" value="submit"> </FORM> <IFRAME name="a" src="dummy.html" width=400 height=300>

hrf
質問者

補足

たびたび、ご回答ありがとうございます。 やっぱりうまくいきません。<iframe>のsrcで指定しているページでは、postのデータが取得できないようです。<iframe>を設置しているページでは、postのデータが取得できます。 <iframe>の中のページはphpなのですが、postデータの取得の仕方が間違っているのでしょうか? $sample_value = $_POST["sample_value"]; としています。 当然、"sample_value"は<form>内の<select>等のnameを指定しています。 宜しくお願い致します。

noname#30334
noname#30334
回答No.1

iframeにnameを付けて、post送信するformにtarget属性を与えれば良いです。 phpではありません。

hrf
質問者

お礼

ご回答ありがとうございます。 やってみます。

hrf
質問者

補足

iframeのsrcはなくていいのでしょうか?あと、formのactionは必要なのでしょうか?ググッてみましたがいまいち要領を得ないので宜しくお願い致します。

関連するQ&A