0

我试图从数据库表中的某些帖子创建动态链接,但是当用户已经登录时,我无法弄清楚如何创建链接。

我想是这样的。

    <?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 是正确的。

现在我的 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;
    }
4

1 回答 1

1

您的函数 fetch_user_article 返回不止一篇文章。像这样使用来感染所有文章。

$articles = $articles->fetch_user_article($_GET['uid']);

foreach ( $articles AS $article ) {
    echo $article['text'];
}

如果希望 fetch_user_article 只返回一篇文章,那么表 blog 的字段 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}'
于 2013-05-18T21:47:16.983 回答