下面的代码将post id的数组存储到session中,并使用foreach迭代post id并调用与该post id相关的数据(title,body)。它工作正常。
的index.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。
答案 0 :(得分:0)
在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?;
?>