Чтение комментариев.
В файле classes/Comment.php
создадим новую функцию.
<?php
class
Comment {
public
static function createComment($commentBody, $postId, $userId) {
//
валидация формы
if
(strlen($commentBody) > 160 || strlen($commentBody) < 1) {
die('Incorrect length!');
}
if
(!DB::query('SELECT id FROM posts WHERE id=:postid',
array(':postid'=>$postId))) {
echo
'Invalid post ID';
}
else {
//
если id поста есть, то вставляем комментрий
в БД
DB::query('INSERT INTO comments VALUES (:id,
:comment, :userid, NOW(), :postid)',
array(':id'=>null,':comment'=>$commentBody,
':userid'=>$userId, ':postid'=>$postId));
}
}
//
отображение комментариев
public
static function displayComments($postId) {
$comments
= DB::query('SELECT comments.comment, users.username FROM comments,
users WHERE post_id=:postid AND comments.user_id = users.id',
array(':postid'=>$postId));
//print_r($comments
);
foreach($comments
as $comment) {
echo
$comment['comment']." ~ ".$comment['username']."<hr
/>";
}
}
}
?>
Добавим
вывод комментариев на страницу index.php
<?php
include('./classes/DB.php');
include('./classes/Login.php');
include('./classes/Post.php');
include('./classes/Comment.php');
$showTimeline
= False;
if(Login::isLoggedIn()) {
$userid
= Login::isLoggedIn();
$showTimeline = True; // если пользователь
залогинен, то показываем собщения
//echo
'Logged in';
echo
Login::isLoggedIn()."<br />";
}
else {
echo
'Not logged in';
}
//
лайки
if
(isset($_GET['postid'])) {
Post::likePost($_GET['postid'], $userid);
}
//
комментарии
if
(isset($_POST['comment'])) {
Comment::createComment($_POST['commentbody'],
$_GET['postid'], $userid);
}
//
отображаются посты всех, за кем следует
пользователь с id=4
$followingposts = DB::query('SELECT posts.id,
posts.body, posts.likes, users.`username` FROM users, posts,
followers
WHERE
posts.user_id = followers.user_id
AND
users.id = posts.user_id
AND
follower_id = 4
ORDER
BY posts.likes DESC;');
//print_r($followingposts);
foreach($followingposts as $post) {
echo
$post['body']." ~ ".$post['username'];
echo
"<form action='index.php?postid=".$post['id']."'
method='post'>";
if
(!DB::query('SELECT post_id FROM post_likes WHERE post_id=:postid AND
user_id=:userid', array(':postid'=>$post['id'],
':userid'=>$userid))) {
echo "<input type='submit' name='like'
value='Like'/>";
}
else {
echo "<input type='submit' name='unlike'
value='Unlike'/>";
}
echo
"<span>".$post['likes']." likes</span>
</form>
<form
action='index.php?postid=".$post['id']."' method='post'>
<textarea name='commentbody' rows='3'
cols='50'></textarea>
<input type='submit' name='comment'
value='Comment'/>
</form>";
Comment::displayComments($post['id']);
echo
"<hr /><br />";
}
?>
Комментариев нет:
Отправить комментарий