Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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、MySQL和HTML为博客制作评论部分_Php_Html_Mysql_Database_Comments - Fatal编程技术网

基于PHP、MySQL和HTML为博客制作评论部分

基于PHP、MySQL和HTML为博客制作评论部分,php,html,mysql,database,comments,Php,Html,Mysql,Database,Comments,我现在正在为一个基于PHP、MySQL和HTML的非常简单的博客制作一个评论部分,这几天我都在苦苦挣扎。我可以添加帖子,编辑帖子,但是我在显示评论方面有问题。我的代码只显示第一篇文章和评论,但其余的文章没有评论。我想这就是我应该给你看的代码 $wyswkom = mysqli_query($polacz, "SELECT * FROM kom"); $komy = mysqli_fetch_assoc($wyswkom); $wynik = mysqli_query($polacz, "SELE

我现在正在为一个基于PHP、MySQL和HTML的非常简单的博客制作一个评论部分,这几天我都在苦苦挣扎。我可以添加帖子,编辑帖子,但是我在显示评论方面有问题。我的代码只显示第一篇文章和评论,但其余的文章没有评论。我想这就是我应该给你看的代码

$wyswkom = mysqli_query($polacz, "SELECT * FROM kom");
$komy = mysqli_fetch_assoc($wyswkom);
$wynik = mysqli_query($polacz, "SELECT * FROM news");
while($news = mysqli_fetch_assoc($wynik)){
    if($news['id'] == $komy['idnewsa']) {
        print $news['autor'].": ".$news['tekst']." / id: ".$news['id']."</br>"."Komentarze: ".$komy['tekst']." -".$komy['autor']."<br>";
    } else { 
        echo $news['autor'].": ".$news['tekst']." / id: ".$news['id']."</br>"; 
    }
}
mysqli_result::fetch_assoc-mysqli_fetch_assoc-获取结果行 作为关联数组

属性$wynik始终只包含来自DB的第一条注释

正确的方法是使用SQL语句中的WHERE,只加载所需的数据。然后像做新闻一样重复

SELECT * FROM kom WHERE idnews = 1

学习这个的最好方法是使用一些教程。这是一个很简单的问题,外面有很多很好的例子。

你在哪里连接新闻和他们的评论?它们在一个数据库中。如果你想要mysqli_fetch_assoc一次只获取一行,那么我可以向你展示所有的代码,所以你只获取一条评论。这里的预期结果是什么?由于您在新闻项目上循环,因此无论哪种方式,每个新闻项目都只会显示一条评论。我想显示所有新闻以及每条新闻的评论,我现在该怎么办?您能给我推荐一些教程吗?顺便说一句,这行选择“kom”中的所有内容,其中idnews=1将仅显示id=1的新闻的评论,那个么,我怎样才能打印所有新闻的评论呢?请注意,这只是为了让你们理解这个原则,远远不够完美。您应该了解SQL注入以及如何正确地将参数传递给SQL查询。