2011-02-06 42 views
0

我在我的網站上有一個排行榜,我希望能夠使用排名數字(1,2,3,4,5等)...如何在表中編號列表

<ol> 
<li>this</li> 
<li>that</li> 
</ol> 

...不會在工作表中

我怎樣才能做到這一點?

+3

我不明白這個問題:'表'到了哪裏?你可以在'之前'顯示'你想要標記'看起來像'操作後'嗎? – 2011-02-06 16:54:19

+0

不要把它放在桌子上?如果它不是表格數據,那麼它不應該在那裏,如果它是表格數據(它聽起來像是這樣),然後創建一個單獨的列「排名」,並刪除OL。 – 2011-02-06 16:54:45

+0

是這個問題解決您的需求?或者你需要額外的幫助/建議嗎?如果問題得到解決,請考慮將其中一個答案(最有用的答案)標記爲「已接受」(點擊答案旁邊的「✓」和表決計數下方)。 – 2011-02-28 17:51:11

回答

0

恐怕編號表中的行是一個標準的html功能。您需要使用Javascript或服務器端數字生成。

編輯:

你真的應該通過這樣做(按優先順序排列):

  1. CSS編號(見其他答案)
  2. 服務器端(我不這樣做PHP的 - 對不起)
  3. 客戶端JavaScript應該是最後一招:

    <table id="numbered"> 
         <tr> 
         <td>a</td> 
         <td>b</td> 
         </tr> 
         <tr> 
         <td>c</td> 
         <td>d</td> 
         </tr> 
         <tr> 
         <td>e</td> 
         <td>f</td> 
         </tr> 
        </table> 
    
        <script type="text/javascript"> 
        var table=document.getElementById('numbered'); 
        var tr=table.getElementsByTagName('tr'); 
        for(var i=0; i<tr.length; i++) 
        { 
         var td=tr[i].getElementsByTagName('td'); 
         td[0].insertBefore(document.createTextNode(i+1+'. '), td[0].firstChild); 
        } 
        </script> 
    
1

你可以做到這一點使用CSS計數器

...不幸的是,他們是不是還沒有得到廣泛的支持。最好在服務器端生成數字,可以認爲它們是重要的內容,並且應該使用HTML。

1

只需添加到您的CSS:

ol { 
list-style-type: decimal; 
margin-left:12px; 
}

的jsfiddle: http://jsfiddle.net/Mutant_Tractor/zhCzQ/2/

或者你也可以使用實現這一目標,給出以下結構的list-style-type: decimal-leading-zero;

2

方式一:

<table> 
    <thead> 
     <tr> 
      <th>Rank:</th> 
      <th>Name:</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td class="rank"><span></span></td> 
      <td>Him</td> 
     </tr> 
     <tr> 
      <td class="rank"><span></span></td> 
      <td>Her</td> 
     </tr> 
    </tbody> 
</table> 

是你u se CSS-counters:

table { 
    border: 1px solid #ccc; 
    empty-cells: show; 
    width: 40%; 
    counter-reset: ranking; 
} 

th { 
    border-bottom: 2px solid #ccc; 
    min-width: 4em; 
    width: 50%; 
    max-width: 6em; 
} 
tbody tr { 
    counter-increment: ranking; 
} 
td { 
    border-bottom: 1px solid #ccc; 
} 
td.rank > span:before { 
    content: counter(ranking); 
} 

and a JS Fiddle demo

正如其他地方所指出的那樣,這些並沒有得到廣泛的支持。並且通過使用JS/jQuery 通過簡單地使用ol可以更好地實現。

-2

至於我我使用while循環while循環(對於PHP)如果你想從數據庫中獲取數據。例如,

 $query = mysql_query("SELECT * FROM table); 
     $getnumbers = mysql_num_rows($query); 

    $x=1; //initialize your number 
    while($x<=$getnumbers) 
    { 
      while($rows = mysql_fetch_assoc($query)) 
      { 

      echo $x;echo $row["row1"];echo "<br>"; 
      $x++ } 
    }