自分の作っているサービスで
、投稿した写真にコメントする機能をつけたいと思っています。
確かに、投稿した写真にコメントする事はできました。
しかし、どの写真を選んでも同じコメントが表示されてしまいます。
つまり、1の写真にコメントしたはずなのに、2の写真のコメント欄にもそのコメントが反映されてしまっているということです。
分かりづらくてすみません。
以下、説明です。
こちらの右下のコメント欄の下が投稿したコメントです。
このコメントをコメントした写真にだけ表示するようにしたいのです。
全ての写真に表示したいわけではないです。
SELECT photoposts.*,reply_comment.comment FROM photoposts,reply_comment WHERE photoposts.id=reply_comment.photoposts_id ORDER BY comment DESC;'
テーブル状況
communityテーブル(コミュニティ投稿の為のテーブル)
id
comtitle(コミュニティの名前)
thumimg(コミュニティのサムネイル)
numrest(コミュニティの人数)
date (撮影日)
location(撮影場所)
subject(被写体)
use_camera(主な使用カメラ)
comment(作成者コメント)
member_id
reply_comment_id
created
modified
membersテーブル(ユーザー作成、またログインの為のテーブル)
id
name(メンバーの名前)
email(メールアドレス)
password(パスワード)
picture(プロフィール画像)
created
modified
photopostsテーブル(撮影した写真を投稿するテーブル)
id
photoimg(投稿画像)
photolocation(撮影場所)
photostory(写真に関するストーリー)
belongscom(所属コミュニティ)
use_camera(使用カメラ)
use_lens(使用レンズ)
member_id
reply_comment_id
created
modified
reply_commnetテーブル(コメント機能のテーブル)
id
comment(コメントするカラム)
reply_comment_id
photoposts_id
members_id
created
modified
以下が、このページのphpコードになります。
コメント表示はphotopostsテーブルのidとreply_commentテーブルのphotoposts_idでリレーションを組んでSELECT
する事で実現しようとしました。
説明が下手で本当に申しわけないですが、詳しい方宜しくお願いします。
また、情報が足りない所は遠慮なくいってください。
require('dbconnect.php');//DBに接続
1require('ports/login.php');//ログインス処理の読み込み 2 3//写真投稿のidを取得 4$sth = $db->prepare('SELECT * FROM photoposts WHERE id=?'); 5$sth->execute( 6 array($_GET['id'])//URLから何番目の投稿かを判断 7); 8$photo_id = $sth->fetchAll();//全ての結果を取得 9 10/*コメント投稿機能 */ 11if(!empty($_POST)) {/*コメントエリアが空でなければ */ 12 $reply = $_POST; 13 $insertreply = $db->prepare("INSERT INTO reply_comment (members_id,photoposts_id,comment,created) VALUE (?,?,?,NOW())"); 14 $insertreply->execute(array( 15 $member['id'], 16 $_GET['id'], 17 $reply['comment'] 18)); 19 20header('Location: photo_detail.php?id='.$_GET['id']); 21exit(); 22 23} 24 25//写真投稿の詳細を1件表示するための処理 26//写真作成内容をDBからSELECTで取得 27$photos = $db->prepare('SELECT m.name,m.picture, p.* FROM members 28m, photoposts p WHERE m.id=p.member_id AND p.id=?'); 29$photos->execute(array($_REQUEST['id'])); 30 31//コメントの表示機能 32$comments = $db->query('SELECT photoposts.*,reply_comment.comment FROM photoposts,reply_comment WHERE photoposts.id=reply_comment.photoposts_id ORDER BY comment DESC;'); 33 34
回答2件
あなたの回答
tips
プレビュー