我试图从数据库表中的一些帖子创建动态链接, 但是当用户已经登录时,我无法弄清楚如何创建链接。
我觉得这样的事情。
<?php $articles = new Articles();
foreach($articles->fetch_user_article($_GET['uid']) as $article) :?>
<a href="edit_articles.php?uid=<?php echo $_SESSION['id']?>&article=<?php echo $article['id'];?>"><?php echo $article['title'];?></a>
<?php endforeach ?>
这给了我一个看起来像这样的链接
edit_articles.php?uid=5&article=213
文章ID:s在DB表中是正确的。
现在我的edit_articles.php文件
$articles = new Articles();
$article = $articles->fetch_user_article($_GET['uid']);
echo $article['text'];
但是当我到达edit_articles.php文件时,我得到了
Undefined index: text
我的功能
function fetch_user_article($uid){
$uid = (int)$uid;
$query = $this->link->query ("SELECT id, title,text FROM blog WHERE user_id = '{$uid}' ");
$tweet = array();
while(($row = $query->fetch(PDO::FETCH_ASSOC)) !== FALSE) {
$tweet[] = $row;
}
return $tweet;
}
答案 0 :(得分:1)
你的函数fetch_user_article正在返回多篇文章。 像这样用来制作所有文章。
$articles = $articles->fetch_user_article($_GET['uid']);
foreach ( $articles AS $article ) {
echo $article['text'];
}
如果您希望fetch_user_article只返回一篇文章,那么表博客的字段user_id应该是唯一的。
或者你必须重写查询
SELECT id, title,text FROM blog WHERE user_id = '{$uid}'
所以它只给你一个结果,如:
$article_id = $_GET['article'];
SELECT id, title,text FROM blog WHERE id = '{$article_id}'