仅显示15个结果

时间:2012-03-11 03:27:21

标签: php mysql

我的会员名单遇到了问题。它显示了每个用户名,但我希望它每行只显示15个。

代码:

    <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="23%"><em><strong>Username</strong></em></td>
  </tr>
  <?
  $sql = mysql_query("select * from usr_users");
  while($m = mysql_fetch_array($sql))
  { ?>
  <tr>
<td width="23%"><div style="float: left;" onMouseover="ddrivetip('<em><? echo("$m[username]");?></em> <br /> <b>Rank:</b> <? echo("$m[rankerslevel]");?><br /> <b>Bits:</b> <? echo("$m[credits]");?><br /> <b>Score:</b> <? echo("$m[points]");?><br /> <b>Mood:</b> <? echo("$m[usrstatus]");?><br /> <b>ID:</b> <? echo("$m[id]");?><br /> <b>Sex:</b> <? echo("$m[sexmalefemale]");?><br /> <b>Country:</b> <? echo("$m[countrywhere]");?><br />','white', 100)";
     onMouseout="hideddrivetip()"><img src="/bolt.png" alt="member_icon"/> <a href="memb.php?user=<? echo("$m[username]");?>"><font color="<? echo("$m[usercolour]");?>"><? echo("$m[username]");?></font></a></td></div>
    <? } ?>

提前致谢!

4 个答案:

答案 0 :(得分:2)

使用LIMIT子句。这是用法:

LIMIT [offset,] rows

示例:

SELECT * from usr_users LIMIT 0, 10

此查询将检索1-10行(从0到10)。

SELECT * from usr_users LIMIT 10, 10

此查询将检索11-19行。

如果要使用IN语句获取具有特定ID的行:

SELECT * from usr_users WHERE id IN (1,2,3)

另请阅读:http://dev.mysql.com/doc/refman/5.0/en/select.html

如果您想了解如何制作分页,请查看以下主题:http://www.codediesel.com/php/simple-pagination-in-php/

答案 1 :(得分:1)

最简单的解决方案是:

SELECT * FROM usr_users LIMIT 15

答案 2 :(得分:0)

使用mysql限制

select * from usr_users order by createddate desc LIMIT 0, 15

假设您有一个名为createddate的列,您在其上执行订单。

这将为您创建最后15位用户。

您可以获取记录总数并将其除以“要显示的项目”以获取分页元素的数量。

http://www.dharshin.com/2007/09/paging-results-with-php-and-mysql-part.html

答案 3 :(得分:0)

假设您有一个'id'列 - 它被设置为Auto_Increment(和INT一样)

SELECT * FROM usr_users ORDER BY -id LIMIT 15

这将抓住最新的15个用户,并按顺序显示它们。