Göster son 4 tablo mysql php girişleri

4 Cevap php

Ben Tür bir blog gibi bir film veritabanı var ve ben son 4 yarattı girdileri görüntülemek istiyoruz. Ben 'EklenenTarih' denilen damgası benim tabloda bir sütun var. Bu kodu kullanarak, nasıl ben sadece tabloya 4 en son girdileri görüntülemek istiyorsunuz

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

4 Cevap

Eğer MySQL kullanarak varsayarak:

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

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

Azalan sıra dateadded tarafından sipariş, size üstüne en son girdileri verir sonra yayımlayarak yalnızca 4 en son olanları alabilir LIMIT 4.

Bu sorguyu kullanın:

SELECT * FROM movielist ORDER BY dateadded DESC LIMIT 4

Beş zaten teslim cevapları çalışacak olsa da, size tablodan gerekir olduğunca az seçmeniz gerekir - yani ekstra alanlar eklemek için olsaydı daha sonra onları seçmek değildir. Bu yüzden:

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

performans nedenleriyle daha iyi olurdu - sadece gerçekten kullandığınız alanları seçiyoruz.