0

目前我正在尝试使用 CodeIgniter在用户输入后显示评论或帖子并在不刷新页面的情况下显示它

几天来我一直在寻找答案,但我仍然无法为我的项目找到任何合适的答案。

很抱歉,我对使用 CodeIgniter 和 JQuery 还是很陌生。因为这个项目的目标是要我们学习新的编程语言。

这是我的 VIEW 中的代码,我提取了主要代码

<?php
    foreach ($comment as $comments) {
        if ($comments['PostID'] == $stickynote['PostID']) {
?>
<div style="background-color: lightblue; border-radius: 5px 5px 5px 5px;  margin-bottom: 5px; width: 70%; height: 80px">
    <a class="pull-left" href="#">
        <!-- Profile Picture -->
        <img style='margin-top: 9px; margin-left: 5px; border-radius: 5px; padding-left: 5px;' class="media-object" id="sub-photo" src="../../images/<?php echo $profile ?>" alt="<?php echo $profile ?>" alt="...">
    </a>
    <div class="media-body">
        <!-- Display Username -->
        <h4 class="media-heading"><?php echo $comments['FirstName'] ?></h4>
        <p style="width: 500px; word-wrap:break-word;">
        <?php echo $comments['Description'] ?>
        </p>
    </div>
</div>
<?php
    } <!-- End of IF statement -->
} <!-- End of FOR LOOP -->
?>

这是我的控制器

public function college_garden() {

    $this -> load -> model('LoginModel');

    if ($this -> session -> userdata('logged_in')) {

        $session_data = $this -> session -> userdata('logged_in');
        $data['username'] = $session_data['username'];

        $data = array(
            'comment' => $this -> CommentModel -> readComment($data['username'])
        );

        $this -> load -> view('include/header');
        $this -> load -> view('college_garden', $data);
        $this -> load -> view('include/footer');

    } else {

        redirect('main', 'refresh');

    }
}

这是我的模型

public function readComment($studentID) {

    $this -> db -> select('PostID, Description, FirstName, LastName, PostTime, Image');
    $this -> db -> from('Comment');
    $this -> db -> join('CollegeUser', 'CollegeUser.StudentID = Comment.StudentID');
    $this -> db -> join('PhotoGallery', 'PhotoGallery.PhotoID = CollegeUser.PhotoID');
    $this -> db -> order_by("Comment.PostTime", "desc");

    return $this -> db -> get() -> result_array();
}

感谢那些帮助我的人。欢呼。

4

1 回答 1

0

要在不刷新的情况下提交表单,您将需要使用 ajax。

像这样的东西:

$("form").on("submit", function(){
  $.post("submit.php", $(this).serialize(), function(){
    ..your code to display comments/post..
  });
return false;
});

显示评论/帖子的部分完全取决于您,您可以执行另一个 ajax 来查询服务器并获取帖子,或者$("textarea").val();如果您很懒则只输出。

于 2013-10-21T07:49:23.927 回答