2013-08-21 43 views
-1

如何從數據庫中獲取3個最新值。我的代碼顯示所有值是這樣的:PHP - 從數據庫中獲取3個最新值

<?php 
    $query="select hari from reg"; 
    $hasil=mysql_query($query); 
?> 
<table style="text-align:center;"> 
    <tr> 
     <th>Data</th> 
    </tr> 
<?php  
    if($hasil === FALSE) { 
     die(mysql_error()); 
    } 

    while ($data=mysql_fetch_array($hasil)) { 
     echo ("<tr><td> $data[hari] </td></tr>"); 
    } 
?> 
</table> 

感謝您的幫助。

+2

你的問題真有無關PHP或HTML。它與SQL嚴格相關 – danronmoon

+1

@danronmoon毫無疑問,這是一個SQL相關的問題。根據提問者的知識水平,很可能他想要一個PHP示例,因爲他的工作環境是PHP ... –

回答

1
$query="select id , hari from reg ORDERBY id desc LIMIT 3"; 

這將爲您帶來最新的3條記錄。

+0

嗨Mostafa,如何將3個最新記錄的平均值分配給一個變量?謝謝 – user2597016

+0

'$ query =「select id,AVG(hari),hari from reg ORDERBY id desc LIMIT 3」;' –

1
$query="select hari from reg ORDER BY hari DESC LIMIT 3"; 
+0

謝謝hex4。從3值打印,我需要計算平均值,如何計算每個值? – user2597016

+0

$ query =「從reg ORDER BY hari DESC LIMIT 3選擇AVG(hari)」; – hex4

+0

我已經嘗試了代碼,但結果似乎不是來自3個最新值的平均值?您的代碼數量平均來自所有字段。如何將3個最新記錄的平均值分配給一個變量?謝謝hex4 – user2597016

0
$query= SELECT hari FROM reg ORDER BY hari DESC LIMIT 3 
0

考慮使用庫MySQLi或PDO_extension - >http://www.php.net/manual/en/intro.mysql.php

然後像所有其他的建議,很可能與ORDER BY和LIMIT 3.

如果你會使用每個記錄時間戳你可以ORDER BY時間戳和限制3給他們或者如果你使用自動增量int ORDER BY ID和LIMIT 3

Mysql也有函數可以retu最後一個條目..也許有一個函數來獲取特定數量的最後條目。

0

試試這個

$query = mysql_query("SELECT id,hari FROM reg ORDER BY id DESC LIMIT 0,3") or die(mysql_error());