目前我正在使用此代码:
<?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> ';
}
?>
代码显示了我的表中的50个随机条目,但我想显示最近的50个条目。
答案 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";