从Mysql表创建动态链接

时间:2013-05-18 21:11:22

标签: php dynamic-linking

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

我觉得这样的事情。

    <?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;
    }

1 个答案:

答案 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}'