2016-12-20 1 views
0

Ich habe mit einem Blog-System beschäftigt und ich versuche derzeit, die sql Datenreihenfolge von id desc in verschiedene Divs (Kols) wie die neuesten 3 Blogs auszugeben , die anderen älteren Blogs müssen sich auf der Seitenreihenfolge nach unten stehenden IDs befinden. Ich hoffe, dass mir jemand helfen kann.Wie sql Abfrage ORDER BY ID DESC zu mehr als 1 div

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

Erster Code, Verbindung zur Datenbank ist OK. Die ersten 3 Spalten am oberen Rand der Seite sind wie diese:

<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> 

Last but not least alle älteren Blogs auf der Seite unterhalb der 3 cols sind:

<?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

Wenn mir jemand helfen kann, habe ich teamviewer oder mailen Sie uns: [email protected] –

+0

Wenn Sie PDO laufen, sollten Sie Ihre Logik in Klassen-Dateien statt in die eigentlichen Dateien setzen – Option

Antwort

0

Also hier ist, wie i‘ d tun, was Sie tun versuchen:

ich zunächst eine Klassendatei für Blog dh (class.blog.php) aufgestellt würde

Sie müssen die Datenbank verbinden Klasse erweitern, die ich gebrandmarkt haben DBClass derzeit für Demozwecke. Sie müssen auch die Datei der Datenbankverbindungsdatei require_once(). Hier

ist die Blog-Klasse:

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

dann im Blog Datei müssen Sie die folgenden (meine Demo-Zwecke hier) tun, ich bin sicher, Sie werden in der Lage sein, entsprechend anzupassen anzupassen :

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

Wenn Sie diese als <div> wollen einfach nur die Tabelle entfernen und stattdessen die divs echo aus.

+0

Das sieht gut aus, aber irgendwie Ich bekomme ständig Fehler –

+0

Auf welche Fehler laufen Sie? Es muss optimiert werden, aber dies ist die Grundlage dafür, wie Ihr PHP-Code aussehen und ausgeführt werden soll – Option