gpt4 book ai didi

php - 'who has used it' 问题

转载 作者:行者123 更新时间:2023-11-29 05:45:52 32 4
gpt4 key购买 nike

好吧...所以,我遇到了以下问题:我有一个正常工作的表 - 它包含用户的 ID、帖子的 ID、帖子的内容、帖子的发布时间。

我用它来打印以下内容:帖子的内容、帖子的作者以及帖子的发布时间。到目前为止一切正常。

现在...我有一个按钮,允许用户为给定的帖子投票 - 这里的一切都工作得很好。但是,现在我想再做一个功能,显示投票的人和投票时间。你知道,这样每个帖子下面都会有一个列表,列出喜欢该帖子的人以及他们什么时候“我按下了按钮。

我的想法是有两个表 - 一个包含帖子的信息 post_table,另一个表 voted_table 将包含用户 ID,按钮被按下的时间已按下并为 post_id 投票...但我不知道如何真正做到这一点。所以几乎我的问题是:

如何将来自另一个表的信息插入到一个表中以及单击按钮时的一些其他信息?

最佳答案

CREATE TABLE `user` (
`id` INTEGER UNSIGNED NOT NULL auto_increment,
`username` varchar(32) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;

CREATE TABLE `post` (
`id` INTEGER UNSIGNED NOT NULL auto_increment,
`owner_id` INTEGER UNSIGNED default NULL,
`content` TEXT default NULL,
PRIMARY KEY (`id`),
KEY `post_I_owner` (`owner_id`),
CONSTRAINT `post_FK_user`
FOREIGN KEY (`owner_id`)
REFERENCES `user` (`id`)
ON DELETE SET NULL
) ENGINE=InnoDB;

CREATE TABLE `vote` (
`id` INTEGER UNSIGNED NOT NULL auto_increment,
`user_id` INTEGER UNSIGNED default NULL,
`post_id` INTEGER UNSIGNED,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `vote_IU_user_post` (`user_id`,`post_id`),
CONSTRAINT `vote_FK_user`
FOREIGN KEY (`user_id`)
REFERENCES `user` (`id`)
ON DELETE SET NULL,
CONSTRAINT `vote_FK_post`
FOREIGN KEY (`post_id`)
REFERENCES `post` (`id`)
ON DELETE CASCADE
) ENGINE=InnoDB;

因此,使用上面的架构,我们可以执行以下操作...

viewPost 页面的 html/php 中你可以拥有

<form name="vote_form" action="postVote.php" method="POST">
<input type="hidden" name="post_id" value="1" />
<input type="submit" value="Vote for this Post" />
</form>

那么在 votePost.php 中你可以做类似的事情:

if(isset($_SESSION['user']['user_id']))
{
$userid = $_SESSION['user']['user_id'];
}
else
{
// redirect to a login or something
}

$sql = "INSERT INTO vote (user_id, post_id) VALUES (%s,%s)"
$sql = sprintf($sql, $userid, $_POST['post_id']);
mysql_query($sql);

这样mysql会为你处理时间戳。请注意,在将输入数据插入数据库和所有有趣的安全性内容之前,您需要验证/验证输入数据(我在这里并没有真正这样做)。我还建议使用 Mysqli 或 PDO Mysql 而不是旧的 mysql libararies 并使用准备好的 stament(它将自行处理大部分值引用/转义功能)

关于php - 'who has used it' 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2155063/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com