こんばんは。
今phpで画像を紹介するホームページを作っています。
現在、簡易コメント欄を作成していて、
イメージではyoutubeのコメント欄のような実装をしようと
今試みているところです。
読み出したphpにてDBからセレクトしたもので
二次元の連想配列を作成し、smartyでテンプレ側にてforeachで
そのまま展開してコメント、名前、投稿日時を出しています。
そこで入力フォーム表示のon/offをJavaScriptで制御していて、
もしコメントを入れたらそのままコメントを追記して
即反映させたいんですが、かなり難しくて全く出来ておりません。
現時点では読み込んでるPHP側から
javascriptで別のデータベースにインサート、
セレクトするphpを読み出す→
またJavaScriptに取れた値を渡す→元のPHPに値を返して表示
とするのかなと思っていますが…
元のPHPで読み出ししたコメントと
どの様にしたら切り分け出来るのか、
またこういうことは実装できるのか想像もつかないのですが…
これはどの様にしていけばいいのでしょうか?
少し細かく説明し難い所もあり、文章がザックリ過ぎる、
意味がわかり難いと思いますが、
教示いただけたらありがたいです。
よろしくお願いします。
No.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で取得するコメントは新規のコメントを含めたすべてのコメントを返せば切り分けの必要がなくなる、って事で上記のような記述をしました。
お返事が遅れてしまい大変申し訳ありません。
どうにかjavascript→phpで更新、読み出し→
javascriptで更新を表示と云った一連の過程を
行うことができました。
まだちょっとバグがあって問題の箇所がありますが…。
回答大変ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リンク先を隠す方法はないでし...
-
csvデータをテーブル表示、指定...
-
index.phpって何ですか? 具体...
-
フォントの色を変えるには?
-
index.phpに入るには、どうすれ...
-
onedrive にexcelファイルをア...
-
別ファイルの変数を呼び出した...
-
Subversionのリポジトリの削除
-
ImageCreate関数が undefined f...
-
値の取り出し方について教えて...
-
VBSの「MsgBox」について
-
awsにApacheとPHPを入れて、何...
-
CSV出力にHTMLが入ってしまう
-
.phpと.incファイルの違いはな...
-
MkDir関数
-
ワードプレスサイト PHP8.0.25...
-
phpinfo.phpを開くとファイルの...
-
コマンドプロンプトで添付ファ...
-
PHPのif文でその処理を途中で抜...
-
現在位置より2つ上のディレク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リンク先を隠す方法はないでし...
-
PHPで新しいウインドウで開く命...
-
csvデータをテーブル表示、指定...
-
phpのページが白紙で表示される
-
textareaのvalueについて
-
header("Content-type: applica...
-
javascriptで切り替えて、php(...
-
PHPでTELNETを実装できる?
-
PHPでつくる更新履歴 作り方と...
-
WinXP PHP5 Apache2 初期設定で...
-
jpgraphで表示されない
-
静的HTMLにRDFを表示させる方法...
-
str_replace()で、なぜ置き換わ...
-
PHPソースと、実行結果を表示し...
-
phpでURLマッピング(?)は可...
-
PHPでHTMLソースから特定のURL...
-
PHPで外部のhtmlを読み込んでソ...
-
レッツPHPのカウンター不具合
-
PHPの利点
-
phpの編集について
おすすめ情報