GatuZa
Новичок
Есть таблица комментариев. Каждый комментарий привязан к конкретной статье + к пользователю. Вот код:
Вот методы по работе с комментариями:
Но как быть с комментариями гостей? Создавать специально для них таблицу или как-то переделать имеющуюся?! Помогите пожалуйста.
PHP:
CREATE TABLE `comments` (
`id_com` INT(10) NOT NULL AUTO_INCREMENT,
`id_user` INT(10) NOT NULL,
`id_article` INT(10) NOT NULL,
`body` LONGTEXT NOT NULL,
`time` DATETIME NOT NULL,
PRIMARY KEY (`id_com`),
INDEX `FK_comments_users` (`id_user`),
INDEX `id_article` (`id_article`),
CONSTRAINT `FK_comments_articles` FOREIGN KEY (`id_article`) REFERENCES `articles` (`id_article`) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT `FK_comments_users` FOREIGN KEY (`id_user`) REFERENCES `users` (`id_user`) ON UPDATE CASCADE ON DELETE CASCADE
)
COLLATE='cp1251_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=27;
PHP:
public function GetComments ($id_article)
{
$id_article = intval($id_article);
$sql =
"
SELECT us.login, com.body, com.time
FROM comments AS com
LEFT JOIN users AS us USING(id_user)
WHERE id_article = $id_article
";
return $this->msql->Select($sql);
}
public function AddComment ($id_user, $id_article, $body)
{
$obj = array();
$obj['id_user'] = intval($id_user);
$obj['id_article'] = intval($id_article);
$obj['body'] = $body;
$obj['time'] = date('Y-m-d H:i:s');
$this->msql->Insert('comments', $obj);
return TRUE;