如何添加类=“最后”到最后一行在环路
问题描述:
以上是构成数据库,其中所用的LIMIT 0,10。($结果)如何添加类=“最后”到最后一行在环路
while ($row = mysql_fetch_object($result)){
echo '<li>'.$row->title.'</li>';
}
现在我想添加class =“last”到10行。这是我的方式。但它不能工作。如何改正或使用另一种方式来获得?
while ($row = mysql_fetch_object($result)){
$num=0;
if($num==9){
echo '<li class="last">'.$row->title'</li>';
}else{ echo '<li>'.$row->title.'</li>';}
$num++;
}
答
定义$num=0;
的while
循环外。
您正在定义$num=0;
里面while
所以++$num;
根本没有意义。它将设置为0
。
那么,逻辑是这样的。
$j = 0; /* $j is outside the loop, so it does not repeat. */
for($i=0; $i<=10; $i++)
{
$k = 0;
/*
Its because the loop repeats,
And $k is set to 0 at the above step.
*/
echo "j: ".($j++)." k:".($k++)."<br/>";
}
答
为了知道你是否对你的结果集的最后一行,你要知道有多少行存在这样的结果集(如,当然,你可以有不到10行 );两种可能的解决方案:
- 使用
select count()
查询,用相同的where
条款为您select
查询,让你的数据,以找出是否您有少于10行,或超过10行。 - 或者先将整个结果集提取到一个数组,然后才显示它 - 使用
count()
来知道该数组中有多少行。
另一种可能是使用mysql_num_rows()
功能,让行的总数 - 这将让你知道,如果你在最后一个(引用):
检索 结果集的行数。对于像
SELECT
或SHOW
这样的语句,此命令仅适用于返回实际结果集的 。
在任何情况下,你接下来要保留您所显示的行数的轨迹 - 要知道,如果你是最后一个。
注意:这意味着使用一些计数器变量,如你所做;除非你想将它初始化为0以外的循环!
否则,每当你循环时重置为0,你永远不会知道你是哪一行!
+0
很好的答案。谢谢。 – enjoylife 2011-03-24 05:44:32
答
using another way
使用CSS
li:last-child{
/*add properties of that class(last) here*/
}
得到它,为什么我应该把$ NUM = 0 while循环之外。谢谢 – enjoylife 2011-03-24 05:35:02