我想只向用户显示一条新记录。我知道它可以通过使用cookie来实现,但在这种情况下如何使用它? 我的所有记录都是$ row。
$con = mysqli_connect("localhost", "root", "", "dentistf_new_df");
if(mysqli_connect_errno()) {
echo "Failed to connect to MySQL: ".mysqli_connect_error();
}
$query = mysqli_query($con, "SELECT * FROM wp_blog_posts order by ID desc ");
while($row = $query->fetch_assoc()) {
if(in_array($row['ID'], $_COOKIE['blog_id _status'])) {
do nothing...
} else {
echo $row['ID'];
setcookie('blog_id _status', $row['ID']);
}
}
答案 0 :(得分:0)
当您在一个页面上使用setcookie()将数据设置为Cookie时,您可以在第二页执行此操作:
if(isset($_COOKIE['mydata'])) {
echo $_COOKIE['mydata'];
setcookie("mydata", "", time()-(60*60*24), "/"); // unsets cookie
}
请勿使用$_COOKIE['blog_id _status'] = '';
为您的Cookie设置值。
答案 1 :(得分:0)
Cookie不在您的控制之内;用户可以随时删除它们,此时您将再次显示它们之前看到的记录。
如果不了解有关数据的更多详细信息,很难提供准确的解决方案,但我建议在数据库中进行录制,这是特定用户所看到的记录。
根据您的数据,您可以实现此目的,例如通过为每条记录添加时间戳并存储" last_timestamp_shown"对于单独表中的每个用户。然后,您必须将SELECT语句扩展为仅包含时间戳比" last_timestamp_shown"更新的记录。对于这个特定的用户。