2016-12-20 5 views
0

私はブログシステムで忙しかったです。私は現在、最新の3つのブログのように異なるID(desc)にSQLデータの順序を出力しようとしています。他の古いブログは、下のidの下にページ順になければなりません。 誰かが私を助けてくれることを願っています。SQLクエリORDER BY ID DESCを1つ以上のdivに変換する方法

<?php 
    $postRow = $db->query("SELECT postID, postTitle, postDesc, postDate, imgBackground, imgNewspost FROM blog_posts WHERE postID = '$postID'"); 
?> 

最初のコードでは、データベースへの接続はOKです。ページの上部にある 最初の3つのcolsのは、これらのようなものです:

<a href="index.html" class="collink"> 
    <div class="sub-col col"> 
       <?php 
    try { 

     $stmt = $db->query('SELECT postID, postTitle, postDesc, postDate, imgBackground, imgNewspost FROM blog_posts WHERE postID ="7" '); 
     while($row = $stmt->fetch()){ 
      echo "<img class='imgtopnews'src='".$row['imgNewspost']."'>"; 
      echo '<div>'; 
       echo '<h1><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></h1>'; 
       echo '<p>Gepost op '.date('jS M Y H:i:s', strtotime($row['postDate'])).'</p>'; 
       echo '<p>'.$row['postDesc'].'</p>';     
       echo '<p><a href="viewpost.php?id='.$row['postID'].'">Lees verder</a></p>';     
      echo '</div>'; 

     } 

    } catch(PDOException $e) { 
     echo $e->getMessage(); 
    } 
?> 


    </div> 
</a> 

最後に、すべての古いブログは3つのcolsの以下のページにありません少なくとも:だからここ

<?php 
    try { 

     $stmt = $db->query('SELECT postID, postTitle, postDesc, postDate, imgBackground, imgNewspost FROM blog_posts ORDER BY postID DESC'); 
     while($row = $stmt->fetch()){ 

      echo '<div class="nieuwscol">'; 
       echo '<div class="newstitle"><p><a href="viewpost.php?id='.$row['postID'].'">'.$row['postTitle'].'</a></p></div>'; 
       echo '<div class="newsdate"><p>Gepost op '.date('jS M Y H:i:s', strtotime($row['postDate'])).'</p></div>'; 
       echo "<img class='imgnews'src='".$row['imgNewspost']."'>"; 
       echo '<p>'.$row['postDesc'].'</p>';     
       echo '<p><a href="viewpost.php?id='.$row['postID'].'">Lees verder</a></p>';     
      echo '</div>'; 

     } 

    } catch(PDOException $e) { 
     echo $e->getMessage(); 
    } 
?> 
+0

私が助けてくれる人がいたら、私はチームビューアーを持っていますか:[email protected] –

+0

PDOを実行しているなら、あなたのロジックを実際のファイルではなくクラスファイルに入れてください。 – Option

答えて

0

i「はどのようですあなたが何をしようとして行うd次の

私はまずつまりブログのクラスファイル(class.blog.php)を設定したい

を私はブランドしているデータベース接続クラスを拡張する必要があります現在のデモ用のDBClassです。また、データベース接続ファイルのファイルrequire_once()が必要です。ここで

は、ブログのクラスです:

class blog extends DBClass 
{ 
    public function __construct() 
    { 
     parent::__contruct(); 
    } 

    public function getBlog() 
    { 
     $stmt = "SELECT count(*) FROM `blog_posts`"; 
     $res = $this->prepare($stmt); 
     $res->execute(); 

     $count = $res->fetchColumn(); 

     if ($count > 0) { 
      $stmt = "SELECT * FROM `blog_posts` ORDER BY `postID` DESC"; 
      $res = $this->prepare($stmt); 
      $res->execute(); 

      while ($row = $res->fetch(PDO::FETCH_OBJ)) { 
       $rows[] = $row; 
      } 

      return $rows; 
     } 
    } 
} 

そして、ブログのファイルの中に、あなたは私はあなたが合わせて適宜調整することができます確信している(ここでは私のデモの目的)以下を実行する必要があると思います:

require_once('class.blog.php');

$blog = new blog(); 

$blogInfo = $blog->getBlog(); 

foreach ($blogInfo as $row) 
{ 
    echo 
    "<table> 
     <tr> 
      <td> 
       $row->imgNewpost 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <h1> 
        <a href='viewpost.php?id=$row->postID'>$row->postTitle</a> 
       </h1> 
      </td> 
     </tr> 
    </table>"; 
} 

あなたは<div>としてこれらをしたい場合は、単にテーブルを削除し、代わりにdivを出しエコー。

+0

これはうまくいくようですが、私はいつもエラーが発生しています –

+0

あなたはどんなエラーに遭遇していますか?それは調整が必要ですが、これはあなたのPHPコードを見て実行するための基礎です – Option

関連する問題