我的成员列表有问题。它显示每个用户名,但我希望它每行只显示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>
<? } ?>
提前感谢!
使用LIMIT
子句。以下是用法:
LIMIT [offset,] rows
示例:
SELECT * from usr_users LIMIT 0, 10
此查询将检索1-10行(从0到10)。
SELECT * from usr_users LIMIT 10, 10
此查询将检索11-19行。
如果您想获得具有特定ID的行,请使用IN
语句:
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/
最简单的灵魂是:
SELECT * FROM usr_users LIMIT 15
使用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
假设您有一个"id"列,并且它被设置为Auto_Increment(以及INT)
SELECT * FROM usr_users ORDER BY -id LIMIT 15
这将抓取15个最新用户,并按顺序显示他们。