php - 在数据库中搜索未读帖子

标签 php mysql cookies

每次用户阅读帖子时,它都会分配一个 cookie,例如。

set_cookies($id,'read',60*60*24);

但问题是我如何选择所有用户尚未阅读的帖子?

SELECT * from posts where (post is unread)

它不需要登录。表结构:

ID | Content | Category

最佳答案

使用您的解决方案,您将执行以下操作:

$ids = array();
if (isset($_COOKIES)) {
    foreach ($_COOKIES as $cookie => $value) {
        if (is_numeric($cookie) && $value == 'read') {
            $ids[] = $cookie;
        }
    }
}

if (isset($ids[0])) {
    $posts = implode(',',$ids);
    $query = "SELECT * from posts where id in ({$posts})";
    // Do the query
} else {
    // no read posts.
}

但是您确实应该考虑以不同的方式存储读取的变量。

关于php - 在数据库中搜索未读帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8582556/

相关文章:

php - 无需持续轮询的实时 Twitter 流媒体

php - 我如何在 Laravel 中使用 remember() 方法来缓存使用查询构建器的查询?

php - 尝试使用 wordpress 设置小部件侧边栏

mysql - 尝试更新主键值时出错

javascript - 我无法在 Opera 和 Internet Explorer 中设置 cookie

php - 使用 php xsl 检查/选择单选按钮(数据来自 mysql 数据库)

javascript - 在插入 mysql 之前如何验证字符串?

mysql存储过程执行时报未知列错误

php - 刷新后 jQuery 保存 div 的状态

ruby-on-rails - 如何在 Rails 中为集成测试设置 cookie?