いいね機能を作成しようとしていますが、いいね id をコメント id に割り当てるのに問題があります。
コード:
INDEX.PHP
include "includes/db.php";
include "comment.class.php";
.....
.....
$comment = array();
$result = mysql_query("SELECT * FROM box");
while ($rows = mysql_fetch_assoc($result)) {
$comment[] = new Comment($rows);
}
foreach ($comment as $c) {
echo $c->createComment();
}
<div id="addCommentArea">
<p>Add a Comment</p>
<form id="addCommentForm" method="post" action="">
<div>
<label for="name">Name</label>
<input type="text" name="name" id="name" />
<label for="body">Comment Body</label>
<textarea name="body" id="body" cols="30" rows="5"></textarea>
<input type="submit" id="submit" value="Submit" />
</div>
</form>
</div>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
COMMENT.PHP
.....
.....
class Comment
{
private $data = array();
public function __construct($row)
{
// The constructor
$this->data = $row;
}
public function createComment()
{
$d = &$this->data;
$link_open = '';
$link_close = '';
return "<div class='comment'>
<div class='username'>".$link_open.$d['name'].$link_close."</div>
<p>".$d["body"]."</p>
<a href='' id='$comment_id' class='like_button'><img src='thumbs_up.png'/></a> <span class='like_show$comment_id'
style='font-weight:bold;font-family:Georgia, Times New Roman, Times, serif;fontsize:12px;position:relative;top:-2px;'>$like_count</span>
</div>";
}
}
だから私はcomment_idとlike_countをここに渡そうとしています:
<a href='' id='$comment_id' class='like_button'><img src='thumbs_up.png'/></a> <span class='like_show$comment_id' style='font-weight:bold;font-family:Georgia, Times New Roman, Times, serif;fontsize:12px;position:relative;top:-2px;'>$like_count</span>
while ループを追加して、テーブルを調べて comment_id を取得しようとしました。しかし、while ループの中に return を入れることはできません。その場合、結果は 1 つしか得られません (そのため、各コメントのいいねボタンは同じ ID を取得し、1 つのコメントが気に入れば、他のすべてのコメントも高く評価されます)。while ループを作成して結果を配列に入れるだけでは、それらを comment_id に渡して各コメントのいいねボタンを出力することもできません。
また、いいねボタン用に別の関数を作成しようとしました。最初の関数 (createComment) から comment_id を取得し、それを 2 番目の関数 (''likeComment'' としましょう) に渡します。うまくいきませんでしたが、うまくいったかどうかはわかりません。ある関数から別の関数に値を渡すにはどうすればよいですか? 必要な値を取得する他の方法はありますか?
何か案は?解決策はおそらく簡単ですが、私は本当に苦労しています。すべてが正常に機能し、コメントボックスが機能するようになりました。
どんな助けでも大歓迎です