プロが教えるわが家の防犯対策術!

こんばんは。
今phpで画像を紹介するホームページを作っています。

現在、簡易コメント欄を作成していて、
イメージではyoutubeのコメント欄のような実装をしようと
今試みているところです。

読み出したphpにてDBからセレクトしたもので
二次元の連想配列を作成し、smartyでテンプレ側にてforeachで
そのまま展開してコメント、名前、投稿日時を出しています。

そこで入力フォーム表示のon/offをJavaScriptで制御していて、
もしコメントを入れたらそのままコメントを追記して
即反映させたいんですが、かなり難しくて全く出来ておりません。

現時点では読み込んでるPHP側から
javascriptで別のデータベースにインサート、
セレクトするphpを読み出す→
またJavaScriptに取れた値を渡す→元のPHPに値を返して表示
とするのかなと思っていますが…

元のPHPで読み出ししたコメントと
どの様にしたら切り分け出来るのか、
またこういうことは実装できるのか想像もつかないのですが…
これはどの様にしていけばいいのでしょうか?

少し細かく説明し難い所もあり、文章がザックリ過ぎる、
意味がわかり難いと思いますが、
教示いただけたらありがたいです。

よろしくお願いします。

A 回答 (1件)

元のHTML表示のPHPと、データを追加して返すPHP、Javascriptからデータ送信する相手等々がごっちゃになって混乱してしまってますかね。



元の、HTMLを表示するPHPは<html>~<body>~</body></html>を出力して、あとは終了です。
ブラウザで[再読み込み]でもしない限り、呼び出される事はないと思います。
<html>~</html>の中には、Javascriptが書かれていて、そのJavascriptとデータ追加返信PHPがやり取りをして、つまりそれがAJAX、後は返ったデータを元にJavascriptが画面を更新するのみです。

JavaScriptでコメント送信
(AJAXで送信)

PHPでコメント受信
PHPでDBにインサート
(※DBはサーバ上に存在するため、JavaScriptからは直接DBにアクセスできない)
PHPで、追加したコメントも含め、全コメントを取得返信

(AJAXで全コメントを受信)
※基本的に受信を意識しなくても良い、関数からの返り値を受け取るイメージで使用可能

現在表示されているコメント全削除
受信した全コメントを表示

以上のような感じとなると思います。

元のHTML表示PHPが出力した既存のコメントと、新規にAJAXで取得したコメントの切り分けがややこしいのであれば、既存のコメントは全削除してAJAXで取得するコメントは新規のコメントを含めたすべてのコメントを返せば切り分けの必要がなくなる、って事で上記のような記述をしました。
    • good
    • 0
この回答へのお礼

お返事が遅れてしまい大変申し訳ありません。

どうにかjavascript→phpで更新、読み出し→
javascriptで更新を表示と云った一連の過程を
行うことができました。

まだちょっとバグがあって問題の箇所がありますが…。

回答大変ありがとうございました。

お礼日時:2010/03/30 03:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!