【发布时间】:2016-03-21 17:43:08
【问题描述】:
我有一张带有“id”、“userid”和“postid”的收藏夹表。例如,当 'userid' = 1 时,我正在尝试选择 'postid' 中的所有条目。
我还有一个包含“id”和其他内容的帖子表。然后我想选择 'postid'='id' 的所有行,然后回显这些行的内容。
基本上过滤用户收藏的帖子。
我得到的是
<?php
include 'connect.php';
$user = $_SESSION['id'];
$getfaves = mysql_query("SELECT postid FROM Favourites where userid='$user'") or die(mysql_query());
if ($rowfave = mysql_fetch_assoc($getfaves))
{
$faveposts = $rowfave['id'];
$getposts = mysql_query("SELECT * FROM Posts where id='$faveposts' ORDER BY id DESC");
while ($row = mysql_fetch_assoc($getposts))
{
$content = 'content';
echo ($content);
}
}
?>
($content = 'content'; 只是一个例子,它不是我在代码中实际使用的)
显然这是不正确的,可能是因为我想选择一个 id 列表,然后搜索该列表中的所有内容,但我只编写了代码来查找一项。但是我不知道如何纠正这个问题。
提前感谢您的帮助。
【问题讨论】:
-
posts的架构是什么?id是用户id还是帖子的id? -
在帖子中,'id'是帖子的id
-
代码看起来是正确的,你在第二个循环中实际打印了什么?如果您打印该行,您应该可以正确看到帖子
-
你可以使用这个查询“SELECT * FROM Posts where id IN (SELECT postid FROM Favorites where userid='$user') ORDER BY id DESC”
-
@Fabio 只是一张图片和一些文字,应该没有什么问题。
标签: php mysql database get posts