如何使用SQL表行ID作为div的ID来回显div?

时间:2017-02-06 13:06:55

标签: php html mysql

我有这个PHP代码,它从我的SQL数据库中获取名为" comments"的数据。 此代码打印出表中的每条评论:

<?php
$sql = "SELECT id,name,email,number,text FROM comments";
$result = $conn->query($sql);

if($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<strong>ID:</strong><br>  " . $row["id"] . "<br>";
        echo "<strong>Navn:</strong><br>  " . $row["name"] . "<br>";
        echo "<strong>Email:</strong><br> " . $row["email"] . "<br>";
        echo "<strong>Nummer:</strong><br> " . $row["number"] . "<br>";
        echo "<strong>Melding:</strong><br> " . $row["text"] . "<br><br><br>";
    }
    echo '<div class = "white_line_comments"></div>';
} else {
    echo "0 results";
}

到目前为止,这种方法运行良好,所有内容都打印出来。 然后我决定我想要一种方法来给每个人评论一些识别,以使它们独一无二。我尝试将每个单独的注释放入其自己的div中,使用SQLtable行id作为div的id。

但是,当我现在尝试访问我的网页时,它告诉我该网站无法正常工作(HTTP错误500)。

<?php
$sql = "SELECT id,name,email,number,text FROM comments";
$result = $conn->query($sql);

if($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "
<div class='$row[' id'].'>";
echo "<strong>ID:</strong><br>  " . $row["id"] . "<br>";
echo "<strong>Navn:</strong><br>  " . $row["name"] . "<br>";
echo "<strong>Email:</strong><br> " . $row["email"] . "<br>";
echo "<strong>Nummer:</strong><br> " . $row["number"] . "<br>";
echo "<strong>Melding:</strong><br> " . $row["text"] . "<br><br><br>";
echo '</div>';
}
    echo '
<div class="white_line_comments"></div>';
} else {
    echo "0 results";
}

有关于此的任何想法吗?我想在包含div时我必须做错事,但我无法弄清楚是什么!

3 个答案:

答案 0 :(得分:2)

启动while循环后,此行中出错:

echo "<div class ='$row['id'].'>";

应该是

echo "<div class ='". $row['id'] ."'>";

您还应该配置您的Web服务器/ hosting / localhost以抛出PHP错误。

如果您在localhost或您自己的服务器上,请阅读此内容: How can I make PHP display the error instead of giving me 500 Internal Server Error

如果您使用的是共享托管,请阅读此内容:How do I displaying details of a PHP internal server error?

答案 1 :(得分:0)

 echo "<div class ='$row['id'].'>";

while循环中的第一行应该如下所示

echo "<div class = '".$row['id']."'>";

echo "<div class = '$row['id']'>"

答案 2 :(得分:0)

你混合了不同的撇号,试试这个:

db.tasks.find({
    'history': {
        $elemMatch: {
            startTime: {
                $gte: ISODate("2017-02-04T00:00:00.000Z"),
                $lte: ISODate("2017-02-05T23:00:00.000Z")
            }
        }
    }
});