2017-11-10 125 views
1

我需要提示或指导如何使用echo显示来自mysql的数据。但我想在html代码中显示它。我想在mysql中显示第一个标题的$row["title"]而不是title1$row["content"]而不是content1,并对所有3个div执行此操作。 php代码正常工作我只是无法弄清楚如何做到这一点。从while循环显示数据到html代码

<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"; 
} 
?> 
+0

而且你也希望图像在所有三个'div'中都不同。 –

+1

注意:'mysqli'的面向对象的接口明显较少,使得代码更易于阅读和审计,并且不容易与已过时的'mysql_query'接口混淆。在你过于投入程序风格之前,它是值得转换的。例如:'$ db = new mysqli(...)'和'$ db-> prepare(“...”)过程接口是PHP4时代的一个神器,当引入mysqli API时,不应该在新的码。 – tadman

+1

我会尝试自己做图片,因为如果我没有错,它会应用相同的逻辑。 @tadman感谢您的建议,我会研究它。 – mb164

回答

0

你几乎没有。只需将html移入while循环的回显即可。

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

谢谢。在我的代码中做了一些编辑,并且像魅力一样工作 – mb164

+0

很高兴工作:) – Matt

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"; 
} 
?> 

另外请注意,我只是重复第一个图像...你需要规划一个额外的,以确定如何处理图像在代码中,然后更新这一个。