В настоящее время я пытаюсь использовать 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();
}
Спасибо за тех, кто мне помогает. Не унывайте.
Чтобы отправить форму без обновления, вам понадобится использовать ajax.
что-то вроде этого:
$("form").on("submit", function(){
$.post("submit.php", $(this).serialize(), function(){
..your code to display comments/post..
});
return false;
});
Часть для отображения комментариев/сообщений полностью зависит от вас, вы можете либо сделать еще один ajax, чтобы запросить сервер и получить сообщение, либо просто вывести $("textarea").val();
если ты ленив.
Ajax
первый помощник, вот несколько ссылок: 1) w3schools.com/ajax , 2) api.jquery.com/category/ajax