salut dans ton cas je tenterai plutot un truc en while imbriqué
<?php
$sql = "SELECT `id` , `post` FROM `posts` ORDER BY `id` ASC"; ;
$req = $DBPDO ->query($sql);
while($post=$req->fetch(PDO::FETCH_OBJ))
{
echo $post->post.":";
$sql2="SELECT * FROM RELATION WHERE `posts`= '$post->post';
$req2 = $DBPDO ->query($sql2);
while($cat=$req2->fetch(PDO::FETCH_OBJ))
{
echo $cat->cat.",";
}
echo "<br>";
}
?>
pas sur de mon coup , mais je pense que le principe reste clair