[英]how to add the class=“last” to the last line in the loop
上面是數據庫的形式,它使用了LIMIT 0、10。($ result)
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()
查詢(與獲取數據的select
查詢相同的where
子句),以查明您的行數少於10行還是多於10行。 count()
知道該數組中有多少行。
另一種可能是使用mysql_num_rows()
函數來獲取總行數-這將使您知道是否在最后一行(引用) :
從結果集中檢索行數。 該命令僅對返回實際結果集的
SELECT
或SHOW
語句有效。
無論如何,您都必須跟蹤顯示的行數-知道您是否在最后一行。
注意:這意味着像您一樣使用一些計數器變量; 除非您想在循環外將其初始化為0 !
否則,每次循環重置為0時,您將永遠不知道自己在哪一行上!
using another way
使用CSS
li:last-child{
/*add properties of that class(last) here*/
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.