Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 创建带有注释的新闻更新,如何连接表?_Php_Mysql - Fatal编程技术网

Php 创建带有注释的新闻更新,如何连接表?

Php 创建带有注释的新闻更新,如何连接表?,php,mysql,Php,Mysql,我想用MySQL和PHP创建一个新闻更新系统。但是我无法让它工作,因为join语句和PHP有问题,所以我可以显示一个新闻更新和所有附加的评论(如果一个有效用户登录,该用户可以单独删除每个评论)。但我遇到的问题只是JOIN语句 我有这些表和数据库模式 新闻(新闻id、日期、用户(fk到用户的用户名)、标题、正文和图片) 用户(用户名、电子邮件、密码、用户类型) 评论(评论id、名称、评论、新闻id(fk到新闻id)) 我试过这样做: $sqlquery ="SELECT news_tbl.*, u

我想用MySQL和PHP创建一个新闻更新系统。但是我无法让它工作,因为join语句和PHP有问题,所以我可以显示一个新闻更新和所有附加的评论(如果一个有效用户登录,该用户可以单独删除每个评论)。但我遇到的问题只是JOIN语句

我有这些表和数据库模式

  • 新闻(新闻id、日期、用户(fk到用户的用户名)、标题、正文和图片)
  • 用户(用户名、电子邮件、密码、用户类型)
  • 评论(评论id、名称、评论、新闻id(fk到新闻id))
  • 我试过这样做:

    $sqlquery ="SELECT news_tbl.*, users_tbl.*, comments_tbl.*,
    COUNT(comments_tbl.comments_id) AS comments_count
    FROM news_tbl
    LEFT JOIN users_tbl
    ON news_tbl.user = users_tbl.username
    LEFT JOIN comments_tbl
    ON comments_tbl.news_id = news_tbl.news_id
    GROUP BY news_tbl.news_id ";
    

    但是我只能显示一条评论,我想要所有的评论,并且我想要提供每个评论的ID,这样用户可以单独删除每个评论。而且,如果没有写评论,我也无法获得新闻id?

    这应该大致得到您想要的,尽管您应该始终共享您的查询,并准确指定您假装实现的目标

    Select ut.user_id,nt.news_id,nt.headline, nt.body,ct.comments_id,
    ct.comment,count(ct.comments_id) as total
    from news_tbl nt
    inner join users_tbl ut on ut.user_id=nt.user_id
    left join comments_tbl ct on ct.news_id=nt.news_id
    group by ut.user_id,nt.news_id
    

    祝你好运。

    欢迎来到SO!对请分享你的疑问。。查尔斯。。。多普尔甘格!我花了大约30秒的时间开始看你的评论,想知道为什么我在不修改OP愚蠢的格式的情况下发布了这些评论。@user1906437尝试
    在ct.news\u id=nt.news\u id
    上左加入评论。