2017-11-10 123 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"; 
} 
?> 

另外請注意,我只是重複第一個圖像...你需要規劃一個額外的,以確定如何處理圖像在代碼中,然後更新這一個。