簡體   English   中英

如何將class =“ last”添加到循環的最后一行

[英]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()函數來獲取總行數-這將使您知道是否在最后一行(引用)

從結果集中檢索行數。 該命令僅對返回實際結果集的SELECTSHOW語句有效。


無論如何,您都必須跟蹤顯示的行數-知道您是否在最后一行。

注意:這意味着像您一樣使用一些計數器變量; 除非您想在循環外將其初始化為0
否則,每次循環重置為0時,您將永遠不知道自己在哪一行上!

using another way

使用CSS

li:last-child{
/*add properties of that class(last) here*/
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM