I am using a comment system from (which I modified slightly):
http://www.9lessons.info/2009/09/comment-system-database-with-jquery.html
I have a concatenated list like so:
$my_list .= '
<div>
' . $user_story . '
</div>
<div class="floatleft">
' . $commenter_name . '
</div>
<form action="#" method="post">
<textarea name="comment" id="comment"></textarea>
<input type="hidden" name="story_id" id="story_id" value=' . $story_id . ' />
<input type="hidden" name="member_id" id="member_id" value=' . $member_id . ' />
<input type="submit" class="submit" value="Comment " />
</form>
<div id="main">
<ol id="update" class="timeline"></ol>
<div id="flash" align="left" ></div>
<li class="box"></li>
</div>
And here is the html/script:
<head>
<script type="text/javascript">
$(function() {
$(".submit").click(function() {
var story_id = $("#story_id").val();
var member_id = $("#member_id").val();
var comment = $("#comment").val();
var dataString = 'story_id='+ story_id + '&member_id=' + member_id + '&comment=' + comment;
if(comment=='') {
alert('Please enter a valid comment');
} else {
$("#flash").show();
$("#flash").fadeIn(400).html('<span class="loading">Loading Comment...</span>');
$.ajax({
type: "POST",
url: "commentajax.php",
data: dataString,
cache: false,
success: function(html){
$("ol#update").append(html);
$("ol#update li:last").fadeIn("slow");
document.getElementById('story_id').value='';
document.getElementById('member_id').value='';
document.getElementById('comment').value='';
$("#comment").focus();
$("#flash").hide();
}
});
}
return false;
});
});
</script>
</head>
<body>
<?php echo $my_list; ?>
The commentajax.php is basically:
<?php
include_once (database...);
if($_POST) {
$story_id = $_POST['story_id'];
$member_id = $_POST['member_id'];
$comment = $_POST['comment'];
$lowercase = strtolower($email);
$image = md5( $lowercase );
mysql_query("INSERT INTO database........);
}
?>
<li class="box">
<?php echo $comment; ?>
</li>
So here is what's happening:
Everything visually appears in the right place. However, if I comment in any of the text areas other than the first in the list, I get the alert(Please enter a valid comment). If I enter a comment on the first post in the list, it then appears in ALL of the posts in the list, instead of just the one post.
What I want to happen:
Each comment to appear next to the appropriate post/story.