将while循环中的数据显示为html代码

时间:2017-11-10 21:09:38

标签: php html mysql

我需要提示或指导如何使用echo显示来自mysql的数据。但我想在html代码中显示它。我想在mysql中显示第一个标题的$row["title"]而不是title1$row["content"]在mysql中的第一个内容而不是content1,并为所有3个div执行此操作。 php代码运行正常我无法弄清楚如何使其成为可能。

<div class="carousel-inner" style="background-size:cover;">
<div class="item active">
    <img src="img/road1.jpg">
    <div class="carousel-caption d-none d-md-block">
        <h2>title1</h2>
        <p>content1</p>
    </div>
</div>

<div class="item">
    <img src="img/road2.jpg">
    <div class="carousel-caption d-none d-md-block">
        <h2>title2</h2>
        <p>content2</p>
    </div>
</div>

<div class="item">
    <img src="img/road3.jpg">
    <div class="carousel-caption d-none d-md-block">
        <h2>title3</h2>
        <p>content3</p>
    </div>
</div>-->

<?php
session_start();
include_once("db.php");

$sql = "SELECT * FROM news";
$query = mysqli_query($conn, $sql);

if (mysqli_num_rows($query) > 0) {

    while($row = mysqli_fetch_assoc($query)) {
        echo "<h2>" . $row["title"] . "</h2>";
        echo "<p>" . $row["content"] . "</p>";
    }
} else {
    echo "0 results";
}
?>

2 个答案:

答案 0 :(得分:0)

你快到了。只需将html移动到while循环的echo中即可。

echo '<div class="carousel-inner" style="background-size:cover;">';

$counter = 1;
while($row = mysqli_fetch_assoc($query)) {
    echo '
    <div class="item ' . ($counter == 1 ? 'active' : '') . '">
        <img src="img/road{$counter}.jpg">
        <div class="carousel-caption d-none d-md-block">
            <h2>' . $row["title"] . '</h2>
            <p>' . $row["content"] . '</p>
        </div>
    </div>';
    $counter++;
}
echo '</div>';

唯一的问题是图像,实际上您将图像保存在数据库中,标题和内容然后使用相同的方法,但对于这个简单的情况,我们只需使用计数器

答案 1 :(得分:0)

请注意我稍微更改了整个代码以获得所需的结果......

<div class="carousel-inner" style="background-size:cover;">

<?php
session_start();
include_once("db.php");

$sql = "SELECT * FROM news";
$query = mysqli_query($conn, $sql);

if (mysqli_num_rows($query) > 0) {

    while($row = mysqli_fetch_assoc($query)) { ?>

        <div class="item active">
            <img src="img/road1.jpg">
            <div class="carousel-caption d-none d-md-block">
                <h2><?php echo $row["title"]; ?></h2>
                <p><?php echo $row["content"]; ?></p>
            </div>
        </div>


<?php
    }
} else {
    echo "0 results";
}
?>

另请注意,我只重复第一张图片......您需要额外的计划来确定如何处理代码中的图像,然后更新此图像。