php 关于sql数据表查询的问题

我有三张表
一张用户表(user) :id username password
一张分类表(class):id class_name user_id
一张文章表(posts):id title content class_id
我现在想写一个显示界面
要求:
1.显示分类名(class_name)
2.类名下显示文章(post)
当我登录后 显示我id下有的分类名和分类名下有的文章 一一对应 大概如下
while:

class_name

while:

content

用php pdo实现的

下面是获取第一个用户class的示例代码,读取文章自己一样画葫芦做下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~

img

<meta charset="utf-8">
<?php
$dbms='mysql';     //数据库类型
$host='localhost'; //数据库主机名
$dbName='test';    //使用的数据库
$user='root';      //数据库连接用户名
$pass='123456';          //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";


try {
    $db = new PDO($dsn, $user, $pass); //初始化一个PDO对象
    $sth=$db->prepare('select * from user');//注意修改这里添加账号密码验证,自己做个表单获取,如select * from user where username='xxxx' and password='xxxxx' ,xxxx从表单中获取
    $sth->execute();
    $rs=$sth->fetchAll();
    if($rs){
      $sth=$db->prepare('select * from `class` where user_id='.$rs[0]['id']);
      $sth->execute();
      $rs=$sth->fetchAll();
      if($rs){
         foreach($rs as $r)
         echo "<a href='list.php?id=".$r['id']."'>".$r['class_name']."</a><br>";
      }
      else echo "此用户未建立分类";
    }
    else echo "无用户";
   
    $db = null;
} catch (PDOException $e) {
    die ("Error!: " . $e->getMessage() . "<br/>");
}

?>