我的会员名单遇到了问题。它显示了每个用户名,但我希望它每行只显示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>
<? } ?>
提前致谢!
答案 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个用户,并按顺序显示它们。