2017-11-10 9 views
1

echoを使用してmysqlからデータを表示するには、ヒントや指示が必要です。しかし、それをhtmlコードに表示したいと思います。私はと$row["content"]の代わりにcontent1をmysqlの最初のコンテンツの$row["title"]をmysqlに表示し、すべての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

また、3つの 'div'のすべてでイメージが異なることを望みますか? –

+1

注: 'mysqli'へのオブジェクト指向インタフェースは冗長ではなく、コードを読みやすく監査しやすくなります。また、古いmysql_queryインタフェースと混同しやすくなりません。手続き型スタイルに多額の投資をする前に、それを切り換える価値があります。例: '$ db = new mysqli(...)'と '$ db-> prepare(" ... ")'手続き型インタフェースはmysqli' APIが導入されたPHP 4時代のアーティファクトであり、コード。 – tadman

+1

私は間違っていないと同じロジックを適用するので、私は自分でイメージをやろうとします。助言のための@ tadmanありがとう、私はそれを調べます。 – mb164

答えて

0

あなたはほとんどそこにいます。 whileループのエコーにhtmlを移動するだけです。

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

は、私は最初の画像を繰り返してることに注意して望ましい結果を作るために少し...変更することを...あなたは、画像の処理方法を決定するために、計画上の余分を必要としますこれを更新してください。

関連する問題