Jquery加载函数循环


Jquery load function loop

我有一个允许用户评论答案的页面,非常类似于stackoverflow。一切工作,除了writcomment .php,理想情况下应该得到questionid和answid,并在正确的问题和正确的答案下放置适当的评论。我目前的writcomment .php代码是错误的,但我真的不知道如何使它正常工作。

Jquery:

<script type='text/javascript'>
$('document').ready(function () {
$('.commentContainer').load('../writecomment.php');
$("form").on("submit", function (e) {
    e.preventDefault();
    var $form = $(this);
    $.ajax({
        "url": $form.attr("action"),
        "data": $form.serialize(),
        "type": $form.attr("method"),
        success: function () {
            $('.commentContainer').load('../writecomment.php');
            $('.commentBox').val(""); 
        }
    });
});
});

</script>
HTML:

<div class='answerContainer' >
                    <p name='singleAnswer'>$answer[$f]</p>
                    <div class='commentContainer'></div>
                    <form method='POST' action='../comment.php'>
                    <input type='hidden' name='record_id' value='$answerid[$f]' />
                    <input type='hidden' name='question_id' value='$q' />
                    <textarea class='commentBox'  wrap='soft' name='comment'></textarea>
                    <input type='submit' value='comment' class='submitCommentBox'>
                    </form>
                    </div>

writecomment.php:

<?php
include 'connect.php';
$questionid=
$answerid=

$query4=mysql_query("SELECT * FROM comments WHERE questionid='$q' AND answerid='$answerid'");
while ($row=mysql_fetch_assoc($query4)){
$comment=$row['comment'];
$user=$row['user'];
$time=$row['time'];
echo "<div id='singleComment'><b>$user</b>$comment</div>";
}

?>

我认为真正的问题不是在代码中,而是在算法中:你需要决定:你是否会在注释中使用树,之后计划DB,只有在那之后你应该坐下来写代码。

如果在注释中不使用树,则使用2个表:1)问题2)答案

ID, USER_ID, QUESTION_TEXT

ID, QUESTION_ID, USER_ID, ANSWER_TEXT

当你需要按问题列出所有答案时,使用

SELECT USER_ID, ANSWER_TEXT FROM `Answers` WHERE QUESTION_ID = 123;

当您需要添加注释时,只需将其插入填充了QUESTION_ID字段的Answers

如果你想在注释中使用tree,你只需要一个表

<<p> 条目/strong>
ID, PARENT_ID, USER_ID, MESSAGE_TEXT

所有的问题将有0值字段PARENT_ID,因为他们是顶部的评论分支,所有的答案将有PARENT_ID=ID(问题),所有的评论答案将有PARENT_ID=ID(答案)。例如

ID | PARENT_ID | MESSAGE_TEXT 
1  |         0 | How to make world better?
2  |         1 | Just try to smile
3  |         1 | Try to get a pet!
4  |         3 | I have a fish, that's boring!

看起来像这样:

How to make world better?
   Just try to smile
   Try to get a pet!
       I have a fish, that's boring!

我希望我的答案对你有用,你将留下$answerid;)

变化

var $form = $(this);

var myForm = $(this);

和每个$formmyForm;

改变
$.ajax({
    "url": $form.attr("action"),
    "data": $form.serialize(),
    "type": $form.attr("method"),

$.ajax({
    url: $form.attr("action"),
    data: $form.serialize(),
    type: $form.attr("method"),

将PHP更改为

include 'connect.php';
$questionid = (int) $_GET['question_id'];
$answerid = (int) $_GET['record_id'];
$query = mysql_query("SELECT * FROM comments WHERE questionid='$q' AND answerid='$answerid'");
while ($row=mysql_fetch_assoc($query)){
    $comment=$row['comment'];
    $user=$row['user'];
    $time=$row['time'];
    echo "<div id='singleComment'><b>$user</b>$comment</div>";
}