CodeIgniter - 从MySQL中检索数据并在不刷新页面的情况下显示

时间:2013-10-21 07:38:24

标签: php jquery codeigniter

目前我正在尝试使用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();
}

感谢那些帮助我的人。助威。

1 个答案:

答案 0 :(得分:0)

要提交没有刷新的表单,您将需要使用ajax。

类似的东西:

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

显示评论/帖子的部分完全取决于您,您可以执行另一个ajax查询服务器并获取帖子,或者只是在您懒惰的情况下输出$("textarea").val();