选择所有数据而不是ID

我正在开发Web应用程序博客。我不会通过文章ID显示类别和内容。

$result= mysqli_query($mysqli,'SELECT articleId,articleTitle,articleSlug,articleDescrip,articleDate,articletags 
                                FROM blog_table 
                                ORDER BY articleId DESC');

我正在从另一个blog_table中选择这些列。现在,我在另一个查询中使用articleId值。

$result2 = mysqli_query($mysqli,'SELECT categoryName,categorySlug   
                                 FROM category,cat_links 
                                 WHERE category.categoryId = cat_links.categoryId 
                                 AND cat_links.articleId = articleId');

while($row2 = mysqli_fetch_array($result2)){
    echo $row2['categoryName']; 
} 

在上面的查询中,我从其他两个表类别和cate_links中选择该列。 while循环循环所有类别,而不是articleId。 我想显示与articleId相关的categoryName,但它显示所有类别。 您能解决吗,如何显示与articleId相关的类别而不是所有类别。

gj856721 回答:选择所有数据而不是ID

您可以仅使用一个查询来改写:

SELECT c.categoryName,c.categorySlug
FROM category c
INNER JOIN cat_links cl
    ON c.categoryId = cl.categoryId
WHERE
    cl.articleId IN (SELECT articleId FROM blog_table);

这将返回blog_table中出现的文章的所有类别元数据,而对该表完全没有限制。这符合您向我们展示的逻辑。如果对blog_table有一些限制,则应说明它们的含义。

本文链接:https://www.f2er.com/3167573.html

大家都在问