2010-03-26 35 views
1

我有一个电影数据库有点像博客,我想显示最后4个创建的条目。我在我的表格中有一个名为'dateadded'的时间戳列。按降序排列使用这个代码是如何将我只dateadded显示4个最新的条目表显示最后4个表项mysql php

<?php 
//connect to database 
mysql_connect($mysql_hostname,$mysql_user,$mysql_password); 
@mysql_select_db($mysql_database) or die("<b>Unable to connect to specified database</b>"); 
//query databae 
$query = "SELECT * FROM movielist"; 
$result=mysql_query($query) or die('Error, insert query failed'); 
$row=0; 
$numrows=mysql_num_rows($result); 

while($row<$numrows) 
{ 
$id=mysql_result($result,$row,"id"); 
$imgurl=mysql_result($result,$row,"imgurl"); 
$imdburl=mysql_result($result,$row,"imdburl"); ?> 

    <div class="moviebox rounded"><a href="http://<?php echo $domain; ?>/viewmovie?movieid=<?php echo $id; ?>" rel="facebox"> 
      <img src="<?php echo $imgurl; ?>" /> 
      <form method="get" action=""> 
    <input type="text" name="link" class="link" style="display:none" value="http://us.imdb.com/Title?<?php echo $imdburl; ?>"/> 
</form> 
    </a></div> 

<?php 

$row++; 
} 
?> 

回答

2

假设你使用MySQL:

SELECT * FROM 'movielist' ORDER BY 'dateadded' DESC LIMIT 4; 
4

$query = "SELECT * FROM movielist ORDER BY dateadded DESC LIMIT 4";

订购为您提供了顶部最近的条目中,那么你可以只需要4个最高最近通过发布LIMIT 4

0

使用此查询:

SELECT * FROM movielist ORDER BY dateadded DESC LIMIT 4 
0

眼下,五个已提交的答案将工作,你应该尽可能少,你从你的表需要选择 - 所以如果你稍后添加额外的字段,它不会选择它们。因此:

SELECT `id`, `imgurl`, `imdburl` FROM movielist ORDER BY dateadded DESC LIMIT 4 

由于性能原因会更好 - 您只选择实际使用的字段。

相关问题