如何从收藏夹表中调用项目

时间:2015-12-15 19:19:17

标签: php mysql database get posts

我有一张带有'id''userid'和'postid'的收藏夹表。我试图在'userid'= 1时选择'postid'中的所有条目。

我还有一个包含'id'和其他内容的帖子表。然后我想选择'postid'='id'的所有行,然后回显那些行的内容。

基本上过滤了用户青睐的帖子。

我得到的是

IEnumerable<ZipEntry> selectEntries = _zipFile.Entries.Where(e => e.FileName.StartsWith(rootLocation))

($ content ='content';只是一个例子,它不是我在我的代码中实际使用的内容)

显然这是不正确的,可能是因为我想选择一个id列表,然后搜索该列表中的所有内容,但我只编码寻找一个项目。但是我不知道如何纠正这个问题。

提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:1)

INNER JOIN的帮助下,只使用一个SQL查询就可以有更简单的方法。 所以你的查询将是

SELECT POST.*
FROM `Favourites`
INNER JOIN `Post`
ON Post.id = Favourites.postid WHERE (Favourites.userid='$user')
ORDER BY Post.id DESC;

here是关于INNER JOIN及其实用程序

的文档

如果您需要更多帮助,请与我们联系

php部分:

<?php
include 'connect.php';
$user = $_SESSION['id'];
$sql="SELECT POST.*
    FROM `Favourites`
    INNER JOIN `Post`
    ON Post.id = Favourites.postid WHERE (Favourites.userid='$user')
    ORDER BY Post.id DESC";
$conn = new mysqli($servername, $username, $password,$dataBase);
  $Result = $conn->query($sql);
  while($row = $Result->fetch_assoc()) {
    //do what you want with the $row, it contain ur resault
  }
?>

随时测试并报告问题(如果有)