这是一个三十个职位。所以我很抱歉!
但我得不到我想要的东西!
我会尝试解释更多..
我有两张桌子..POSTS< - my(所有网站帖子) 评论< - 我(所有网站评论)
我希望在这一页中显示所有的帖子和评论
购买(1个查询)
我有POSTS表(100帖子) 我有COMMENTS表(20条评论)
我试试这段代码
$qq = mysql_query("SELECT posts.*,comments.*
FROM posts LEFT JOIN comments
ON posts.post_id = comments.post_id");
while($tt = mysql_fetch_array($qq)){
echo $tt['comment_title'] . '<br />'; //the title of comments !
}
在上面,我试图打印评论标题
我上面说过我只有(20条评论)!
输出代码(120条评论重复!)
120是两张桌子的总数!
/ *我只想打印20条评论和100条帖子(在一个查询中)
我怎么能这样做! ?
最后我很抱歉这个问题
但我真的需要帮助!我的网站已关闭
答案 0 :(得分:0)
我假设您需要获取所有帖子(以及您指的是文章的帖子)
是的,您可以使用一个查询:
SELECT * FROM articles;
获取所有文章
答案 1 :(得分:0)
<?php
$sql = "SELECT * FROM articles";
$query = mysql_query($sql);
while($result = mysql_fetch_assoc($query){
echo $result['post_title'];
}
?>
答案 2 :(得分:0)
你的问题非常含糊,所以我会尽力而为:
SELECT * FROM posts LEFT JOIN comments ON posts.post_id = comments.post_id
这是您想要的查询(与您相同,但*代替“发帖。,评论。”。
当然,这将检索帖子中的所有行,即使他们没有任何评论。你需要这样做:
SELECT * FROM posts LEFT JOIN comments ON posts.post_id = comments.post_id WHERE posts.post_id= = <some_id>
仅获取特定帖子的评论。当然,这将是愚蠢的,因为它与刚刚做的一样:
SELECT * FROM comments WHERE post_id = <some_id>
如果您只想选择包含评论的帖子中的行,您必须执行以下操作:
SELECT * FROM posts INNER JOIN comments ON posts.post_id = comments.post_id
或者
SELECT * FROM posts NATURAL JOIN comments
(它们具有相同的效果)