• ベストアンサー

CGIの出力に別のCGIの出力結果も同時に表示させたい

ショッピングカートのCGIに、アンケートCGIの集計結果も一緒に表示させたいと思います。 ショッピングカートで、まず商品を検索。 検索結果の商品ごとに、ユーザーに付けてもらったアンケート結果も一緒に表示させて、商品の評価も見て分かるようにしたいです。 SSIの利用を考えていたのですが、CGIの中でSSIを使用してもコメント扱いになり、SSIを動作させる事ができないと言う事が分かり、今回質問しました。 アンケートCGIは下記のスクリプトになります。 http://wa-ka.net/mash/sozai/tenshin/index.html 上記のサイトのアンケートCGIを利用しています。 アンケートの集計結果を、ショッピングカートCGIの検索結果に表示したいのですが、どのようにしたら良いのかアドバイスをお願い致します。 「tenshin.cgi?mode=reportfile」とすると、アンケート結果が表示されるようになっています。 ショッピングカートの検索結果の出力部分は、 $print .=<<HTML; HTML の間に記述されているHTMLの情報が、出力結果として表示されるようになっています。 この中に「$item」「$price」「$comment」等の変数(?)が入っており、商品毎の情報が表示されます。 上手く説明できているか分かりませんが、CGIの出力に別のCGIの出力結果も一緒に表示させる方法はありますでしょうか。 アドバイスをお願い致します。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

LWP を使う、とかもあるかもしれないけど IFRAME を使って結果を表示させるのが簡単だと思います。

Cuty_Cat
質問者

お礼

ご回答ありがとうございます。 IFRAMEについてですが、対応していないブラウザを使用している人もおりますので、できればIFRAMEを使用しない方法で考えております。 引続きアドバイスをお願い致します。

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

これって同一サーバー内のCGI2つですよね? ならカートCGIの中で print `./tenshin.cgi`; とかすれば出来ますけど? mode=reportfileのQUERYを渡すのがうまくいかなければ 呼び出されたtenshin.cgi中で$ENV{'SCRIPT_NAME'} には呼び出し元のCGIが入るはずなので $ENV{'SCRIPT_NAME'}にカートCGIのfile名が含まれていれば アンケート結果を表示するようにtenshin.cgiを書き換えれば出来るかと思います。 ただサーバーの負担は少し増えちゃうと思うので #2さんがかかれたようにカートCGIの中に アンケートCGIの必要部分を入れたほうが良い気もします

Cuty_Cat
質問者

お礼

ご回答ありがとうございます。 同じサーバに、ショッピングカートCGIとアンケートCGIが設置してあります。 1つのアンケート集計結果を表示させるのではなく、表示された商品一覧の商品1つ1つに、その商品に対してのアンケート集計結果を表示したいと考えています。 1つだけのアンケート結果の表示だけなら、何とかできそうな気もするのですが、複数のアンケート結果を表示させたいと思っていますので、お力を貸して頂ければ嬉しく思います。 よろしくお願いします。

すると、全ての回答が全文表示されます。
noname#45409
noname#45409
回答No.2

アンケートCGIの表示ロジックを移植したらいいんじゃないですかね。

Cuty_Cat
質問者

お礼

ご回答ありがとうございます。 そうですね。 この方法については、私も考えたのですが、この方法だとアンケートの集計結果は1つしか出力する事ができませんよね。 商品一覧に表示された、商品ごとにその商品に対してのアンケート集計結果を表示できるようにしたいと思っています。 CGIの中でSSIを使用できれば良いのですが、何か良い方法はないでしょうか。 アドバイスをお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A