2010-03-26 25 views
1

J'ai une base de données de films Un peu comme un blog et je veux afficher les 4 dernières entrées créées. J'ai une colonne dans ma table pour l'horodatage appelé 'dateadded'. En utilisant ce code comment pourrais-je afficher uniquement les 4 dernières entrées à la tableAfficher les 4 dernières entrées du tableau 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++; 
} 
?> 

Répondre

2

En supposant que vous utilisez MySQL:

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

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

Trier par dateadded dans l'ordre décroissant vous donne les entrées les plus récentes sur le dessus, alors vous pouvez ne prendre que les 4 plus les plus récents en émettant LIMIT 4.

0

Utilisez cette requête:

SELECT * FROM movielist ORDER BY dateadded DESC LIMIT 4 
0

Alors que les cinq réponses déjà soumises travailleront, vous devez sélectionner aussi peu que vous devez de votre table - donc si vous deviez ajouter des champs supplémentaires plus tard, il ne les sélectionnerait pas. Par conséquent:

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

serait mieux pour des raisons de performance - vous ne sélectionnez que les champs que vous utilisez réellement.

Questions connexes