次のような処理のサンプルをご存じないでしょうか?

1.ブラウザ上に表示されているテキストリンクをクリック。
2.すると、そこで指定しているPHPが動作する。
3.そのPHPで処理を行った結果を、「1.」のブラウザ画面に表示する。
ただし、「3.」でPHPの処理結果を表示する際、画面の切替は行わず、かつリンクの下にPHPの処理結果がグイッっとツリーのように展開されるように表示されるというものです。

要するに、JavaScriptなどで、ツリー表示されるようなものがありますが、それとはちょっと違って、今回探しているのは、ツリーを展開させるリンクをクリックすると、指定したPHPの処理が走り、
その結果をリンク表示するというものです。


ウーン、わかりづらいですがよろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/12/26 14:22:18
  • 終了:--

回答(3件)

id:upride No.1

upride回答回数220ベストアンサー獲得回数12004/12/26 14:57:03

ポイント20pt

このサンプルスクリプトの一部が

お望みの動作かと思います

画面の上のモードを更新にして「go」を押します

左側にリストが出ますので

適当な項目をクリックすると

下に該当するデータがリストアップします

この時リロード処理が走りますが

javascriptのツリーみたく

リロードしないで下にリストアップする場合は

やっぱりjavascriptを使わないと出来ないと思います

この方法も以前作ったことがあるので

その場合は再質問していただければ

サンプルはありませんが流れだけでもご提示できます

id:hmsd

動作的には、ご提示頂いたものです。

ただ、リロードはせず、クリックした際に展開されるツリーを表示するために必要なデータだけをPHPで出力するというものを探しています。

そのJavaScriptを使った方法を作ったことがあるとのことですが、参考になるものを教えて頂ければうれしいです。

2004/12/26 15:15:20
id:upride No.2

upride回答回数220ベストアンサー獲得回数12004/12/26 16:48:35

ポイント20pt

ではお好みの動作はこんな感じだと思いますが

このようなスクリプトは大抵設定ファイルを

持っていると思います(jsファイル)

そのjsファイル自体をPHPで出力してやるようにすれば

画面もリロードすることなく

PHPで吐き出したデータをメニュー表示することができます

問題はPHPで出力し終えた後表示しないとまずいので

phpが出力し終えたというフラグを画面側(javascript)

が取得する処理が必要です

その場合PHPで最後に出力する場所にフラグを立てて

立つまでjavascript側でループすることで回避することが

出来ると思います

id:hmsd

ご回答ありがとうございます。

リンクを展開する時に、DBから展開するデータを取得し、その結果を表示するという処理をしたいんですが、結構大変みたいですね。

ご回答頂いた内容も、ちょっと難しくて大変です。

2004/12/26 22:40:12
id:jinnee No.3

jinnee回答回数13ベストアンサー獲得回数02004/12/27 00:42:25

ポイント20pt

データ取得部分にXMLDOMを使用するというのはどうでしょう。(ツリー表示部分は既に持っているor自分で作ると仮定してます)

上記サイトにはXMLを動的に取得するためのLoaderがあります。

これを用いれば以下のようなことが実現できます。

・画面の切り替えを行わずデータを取得可能

・データの取得はPHPなど別のURLへアクセスすることで取得

PHP側ではHTMLではなくXMLで返す必要があり、取得前後の処理(描画など)はJavaScriptで実装することが必須となりますが、はまるとなかなか面白いです。

JavaScriptを使用してXMLを読み込み、さらにこのデータを変換して見栄えを整える、というサンプルがあります。

id:hmsd

フムフム。なんとかできそうな感じです。

大変助かりました!色々とありがとうございました!

2004/12/27 10:50:29

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません