最新条目的PHP代码

时间:2015-04-07 19:13:07

标签: php mysql

目前我正在使用此代码:

<?php
$query1 = "SELECT `tag` FROM  `search` ORDER BY RAND() LIMIT 50";
$query1 = mysql_query($query1);
while ($row1 = mysql_fetch_assoc($query1)){
    $name1 = $row1['tag'];
    $link1 = str_replace(' ','_',$name1);
    $link1 = preg_replace('/[^A-Za-z0-9\-]/', '-', $link1);
    $link1 = preg_replace('/-+/', '+', $link1);
    $link1 = $siteurl."download.php?q=".$link1;
    echo '<a href="'.$link1.'" title="'.$name1.'">'.$name1.'</a>&nbsp;&nbsp;';
}
?>

代码显示了我的表中的50个随机条目,但我想显示最近的50个条目。

1 个答案:

答案 0 :(得分:0)

你几乎回答了自己的问题。

$query1 = "SELECT `tag` FROM  `search` ORDER BY RAND() LIMIT 50";

这一行有RAND(),告诉MySQL获取RANDOM条目。

获取您将要执行的最后50个条目

$query1 = "SELECT `tag` FROM  `search` ORDER BY id DESC LIMIT 50 ";

在大多数情况下,默认排序将是主键,即自动增量值,通常是id。 DESC说,如果你希望它们按顺序排列,你可以在最后提交给我的条目给你,你必须做一个子查询来反转它们并在第一次提交的订单中获得它们,但是最后50个提交。

$query1 = "SELECT * FROM (
    SELECT * FROM `search` ORDER BY id DESC LIMIT 50
) sub
ORDER BY id ASC ";

或者您可以执行类似

的操作
$query1 = "(SELECT * FROM `search` ORDER BY id DESC LIMIT 50) ORDER BY id ASC";
相关问题