2016-06-27 9 views
-1

私は自分のページに別のニュースを表示するのに苦労しています。私は各ニュースを1つのdivに表示したいとし、制限は4つのニュースです。例として、私は4つの異なるニュースを持っていて、それぞれをdivで個別に表示したいと思っています。私はhtmlとPHPに新しいです。誰かが私に最高のループとこれに照会するアイデアをくれますか?PHP - 異なるデータを表示するためのクエリとループ

私はここでやりたいことを簡単に理解するために画像です。 enter image description here

ここは私がやっていることです。私は失われたと思う。 enter image description here

ここにニュースのための私のPHPコードが..です単にあなたの最初のループのような

<div class="content"> 
    <div class="container"> 
    <div class="row"> 

     <div class="col-xs-12 col-md-9"> 
     <div class="fix leftbar floatleft"> 
      <div class="fix left_sidebar"> 
      <div class="news"> 
       <h2><i class="fa fa-newspaper-o"></i> Latest News</h2> 
       <hr class="carved"> 

       <div class="fix single_news"> 
       <div class="single_image"> 
        <img src="img/coveredcourt.jpg" alt="court"> 
       </div> 
       <?php 
       include_once('connection.php'); 
       $sql ="SELECT * FROM news ORDER BY news_id ASC"; 
       $result = mysqli_query($con, $sql); 

       while($row = mysqli_fetch_array($result)) { 
        $title = $row['news_title']; 
        $date = $row['news_date']; 
        $content = $row['news_content']; 
        ?> 

        <a href="#"><?php echo $title; ?></a> 
        <p><?php echo $date; ?></p> 
        <p><?php echo $content; ?></p> 
        <?php 
       } 
       ?> 
       </div> 

       <hr> 


       <div class="fix single_news"> 
       <div class="single_image"> 
        <img src="img/coveredcourt.jpg" alt="court"> 
       </div> 
       <?php 
       include_once('connection.php'); 
       $sql ="SELECT * FROM news ORDER BY news_id ASC"; 
       $result = mysqli_query($con, $sql); 

       while($row = mysqli_fetch_array($result)){ 
        $title = $row['news_title']; 
        $date = $row['news_date']; 
        $content = $row['news_content']; 
        ?> 

        <a href="#"><?php echo $title; ?></a> 
        <p><?php echo $date; ?></p> 
        <p><?php echo $content; ?></p> 
        <?php 
       } 
       ?> 
       </div> 

       <hr> 


       <div class="fix single_news"> 
       <div class="single_image"> 
        <img src="img/coveredcourt.jpg" alt="court"> 
       </div> 
       <?php 
       include_once('connection.php'); 
       $sql ="SELECT * FROM news ORDER BY news_id ASC"; 
       $result = mysqli_query($con, $sql); 

       while($row = mysqli_fetch_array($result)){ 
        $title = $row['news_title']; 
        $date = $row['news_date']; 
        $content = $row['news_content']; 
        ?> 

        <a href="#"><?php echo $title; ?></a> 
        <p><?php echo $date; ?></p> 
        <p><?php echo $content; ?></p> 
        <?php 
       } 
       ?> 
       </div> 

       <hr> 


       <div class="fix single_news"> 
       <div class="single_image"> 
        <img src="img/coveredcourt.jpg" alt="court"> 
       </div> 
       <?php 
       include_once('connection.php'); 
       $sql ="SELECT * FROM news ORDER BY news_id ASC"; 
       $result = mysqli_query($con, $sql); 

       while($row = mysqli_fetch_array($result)){ 
        $title = $row['news_title']; 
        $date = $row['news_date']; 
        $content = $row['news_content']; 
        ?> 

        <a href="#"><?php echo $title; ?></a> 
        <p><?php echo $date; ?></p> 
        <p><?php echo $content; ?></p> 
        <?php 
       } 
       ?> 
       </div> 



       <a href="#" class="view_news">View More News</a> 

      </div> 
      </div> 
     </div> 
     </div> 
+0

あなたは...あなたは一度だけそれを行う必要があり、同じデータをフェッチ4回を保ちます。 – Rasclatt

+0

ループのポイントは、データを一度取得してから、すべてのコードを1ブロックのコードでループすることです。 4つの同一のクエリ、または4つの接続が必要ありません。上記のすべてのコードを1つのループに入れることができます。 – Novocaine

答えて

1

...優れたフォーマットで

<?php 
    include_once('connection.php'); 
    $sql ="SELECT * FROM news ORDER BY news_id ASC"; 
    $result = mysqli_query($con, $sql); 

    while($row = mysqli_fetch_array($result)){ 
     $title = $row['news_title']; 
     $date = $row['news_date']; 
     $content = $row['news_content']; 
    ?> 
    <div class="fix single_news"> 
     <a href="#"><?php echo $title; ?></a> 
     <div class="single_image"> 
      <img src="img/coveredcourt.jpg" alt="court"> 
     </div> 
     <p><?php echo $date; ?></p> 
     <p><?php echo $content; ?></p> 
    </div> 
    <hr class="carved"/> 
    <?php 
    } 
    ?> 

あなたのループは、すべての記事を取るので、あなたされますこのようなループは1つだけ必要です。 1つの記事だけをフォーマットするだけで、他はすべて同じフォーマットになります。

+0

こんにちは、それは働いた。なぜそれが働いたのか説明できますか?もしあなたが心配していなければ:)あなたはそれが大丈夫ですか?:)私はそれを4つのニュースに限定できますか? – nethken

+0

制限は既にOKです。 "ASC"の後に "limit 4"を入れます – nethken

+0

@nethken Done。それは十分にはっきりしていることを願っています – Alexis

1

出力を何度もループしているため、データベースからデータを取得するためにループが1つだけ必要です。

注これはテストされていない:

<?php 
        include_once('connection.php'); 
        $sql ="SELECT * FROM news ORDER BY news_id ASC"; 
        $result = mysqli_query($con, $sql); 

        while($row = mysqli_fetch_array($result)){ 

        echo '<div class="fix single_news">'; 
        echo '<div class="single_image">'; 
        echo '<img src="img/coveredcourt.jpg" alt="court">'; 
        echo '</div>'; 

        $title = $row['news_title']; 
        $date = $row['news_date']; 
        $content = $row['news_content']; 


        ?> 

        <a href="#"><?php echo $title; ?></a> 
        <p><?php echo $date; ?></p> 
        <p><?php echo $content; ?></p> 
        <hr> 
        <?php 
         } 
        ?> 
       </div> 



      <a href="#" class="view_news">View More News</a> 
関連する問題