下面的代码将帖子 id 数组存储到会话中,并使用 foreach 我迭代帖子 ID 并调用与该帖子 ID 相关的数据(标题、正文)。它工作正常。
索引.php
$result = $query->fetchAll(PDO::FETCH_COLUMN, 0);
$_SESSION['postid']=$result;
foreach($_SESSION['postid'] as $key=>$postid){
$sql = "SELECT * FROM posts WHERE postid=:postid";
$query = $db->prepare($sql);
$query->execute(array(':postid'=>$postid));
$row = $query->fetch(PDO::FETCH_ASSOC);
<a href="post.php"><?php echo $row['title']; ?></a>
<p><?php echo row['body'] ?></p>
}
现在我想通过单击索引页面的链接来定向到帖子页面title
并从单击其标题的会话数组调用该特定帖子 ID。在帖子页面上使用$postid = $_SESSION['postid'];
给出了整个帖子 ID 数组。有什么方法可以让我只在帖子页面上为标题在索引页面上单击的特定帖子 ID 启动会话。
在 index.php 页面中,像这样修改锚标记:
<a href="post.php?pistid='<?php echo $row['postid']; ?>'"><?php echo $row['title']; ?></a>
然后在帖子页面上使用此代码在会话中设置 PostID
<?php
$_SESSION['pid'] = isset($_GET['pistid'])$_GET['pistid']:null?;
?>