如何从收藏夹中调用项目 table
How to recall items from favourites table
我有 table 个收藏夹 'id' 'userid' 和 'postid'。例如,当 'userid' = 1 时,我正在尝试 select 'postid' 中的所有条目。
我还有一个 table 的帖子 'id' 和其他内容。然后我想 select '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'; 只是一个示例,并不是我在代码中实际使用的内容)
显然这是不正确的,可能是因为我想 select 一个 ID 列表,然后搜索该列表中的所有内容,但我只编码为查找一个项目。但是我不知道如何纠正这个问题。
在此先感谢您的帮助。
有一种更简单的方法可以在 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
}
?>
欢迎测试,有问题请反馈
我有 table 个收藏夹 'id' 'userid' 和 'postid'。例如,当 'userid' = 1 时,我正在尝试 select 'postid' 中的所有条目。
我还有一个 table 的帖子 'id' 和其他内容。然后我想 select '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'; 只是一个示例,并不是我在代码中实际使用的内容)
显然这是不正确的,可能是因为我想 select 一个 ID 列表,然后搜索该列表中的所有内容,但我只编码为查找一个项目。但是我不知道如何纠正这个问题。
在此先感谢您的帮助。
有一种更简单的方法可以在 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
}
?>
欢迎测试,有问题请反馈