2014-12-03 113 views
-2

试图在html表中显示mysql表数据。我需要在顶部降至最旧的帖子中显示最新的帖子。在MySql表中显示最新到旧的表中的数据

目前,当我用这种方式制定代码时,它显示了我从表格底部发布的最新数据。

请帮帮我。谢谢。

<?php 
 
echo "<table style='border: solid 3px black;'>"; 
 
echo "<tr><th>Name</th><th>Level</th><th>Region</th><th>Event</th><th>Comments</th><th>Posting Date</th></tr>"; 
 

 
class TableRows extends RecursiveIteratorIterator { 
 
    function __construct($it) { 
 
     parent::__construct($it, self::LEAVES_ONLY); 
 
    } 
 

 
    function current() { 
 
     return "<td style='width:150px;border:1px solid black'>" . parent::current(). "</td>"; 
 
    } 
 

 
    function beginChildren() { 
 
     echo "<tr>"; 
 
    } 
 

 
    function endChildren() { 
 
     echo "</tr>" . "\n"; 
 
    } 
 
} 
 

 
$servername = "localhost"; 
 
$username = "Frank07"; 
 
$password = "xxxxx"; 
 
$dbname = "table_d"; 
 

 
try { 
 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
 
    $stmt = $conn->prepare("SELECT * FROM dnew2"); 
 
    $stmt->execute(); 
 

 
    // set the resulting array to associative 
 
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
 

 
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
 
     echo $v; 
 
    } 
 
    $dsn = null; 
 
    } 
 
catch(PDOException $e) 
 
    { 
 
    echo "Error: " . $e->getMessage(); 
 
    } 
 
$conn = null; 
 
echo "</table>"; 
 
?>

+3

你的表格是否有一个带有日期,时间戳或某个字段的字段,用于指示它的年龄?只需在SQL语句中使用ORDER BY来对其进行排序。 – j08691 2014-12-03 19:54:19

+0

其使用now()作为时间戳 – 2014-12-03 19:56:00

回答

0

你可以这样说:

SELECT * FROM dnew2 ORDER BY post_date DESC 

您可以使用ASC或DESC。

+0

谢谢,这工作 – 2014-12-03 20:06:16