HTML表格中的每一行都可以编号吗?

时间:2011-09-24 07:03:29

标签: php javascript jquery

我想要做的是为表中的每一行编号。我不能自己手动编号表,因为它中的所有信息都是从数据库中检索的。这可能是 jQuery或PHP 吗?这是表格的屏幕截图:

Screenshot

我尝试搜索此内容,但没有找到任何帮助我的内容。

以下是显示表格的PHP / HTML:

 <tr>
 <th>Name</th>
 <th>Email</th>
 <th>Subject</th>
 <th>Created on</th>
 <th style="width:65px;">Status</th>
 <th>Actions</th>
 </tr>

<?php

[...]

//Display the results
while($info = mysql_fetch_assoc($result)){
//data
$name = $info['name'];
$email = $info['email'];
$subject = $info['subject'];
$ticketid = $info['ticket'];
$isActive = $info['is_active'];
$created = $info['created'];
    //status
    if($isActive == "1") {
    $status = "<span class=\"open\">Open</span>"; 
    $status2 = "active";
    }
    else if($isActive == "0") { 
    $status = "<span class=\"closed\">Closed</span>"; 
    $status2 = "closed";
    }
    else {
    $status = "";
    }
    echo  "
<tr>
<td style=\"min-width: 87px;\">$name</td>
<td style=\"min-width:248px;\" title=\"$email\">".addEllipsis($email, 33)."</td>
<td title=\"$subject\">".addEllipsis($subject, 18)."</td>
<td style=\"width: 235px;\">$created</td>
<td title=\"This ticket is $status2\">$status</td>
<td><a href='/employee/employee.php?ticket=$ticketid'>View Ticket &raquo;</a></td>
</tr>
    ";
}

如您所见,它显示为while循环。

如果有人知道使用 jQuery PHP 对表格中的每一行进行编号的方法,请帮助我:)

5 个答案:

答案 0 :(得分:2)

$trCounter=0;

while($info = mysql_fetch_assoc($result)){
//data
$name = $info['name'];
$email = $info['email'];
$subject = $info['subject'];
$ticketid = $info['ticket'];
$isActive = $info['is_active'];
$created = $info['created'];
    //status
    if($isActive == "1") {
    $status = "<span class=\"open\">Open</span>"; 
    $status2 = "active";
    }
    else if($isActive == "0") { 
    $status = "<span class=\"closed\">Closed</span>"; 
    $status2 = "closed";
    }
    else {
    $status = "";
    }
    echo  "
<tr>
<td>$trCounter++</td>
<td style=\"min-width: 87px;\">$name</td>
<td style=\"min-width:248px;\" title=\"$email\">".addEllipsis($email, 33)."</td>
<td title=\"$subject\">".addEllipsis($subject, 18)."</td>
<td style=\"width: 235px;\">$created</td>
<td title=\"This ticket is $status2\">$status</td>
<td><a href='/employee/employee.php?ticket=$ticketid'>View Ticket &raquo;</a></td>
</tr>
    ";
}

或者你总是可以在你的jquery选择器中使用:eq api或它的等价物来处理索引但是我问它取决于你想对索引做什么。

答案 1 :(得分:1)

jQuery的:

$(function () {
    var i = 0;
    $('table thead tr').prepend('<th>#</th>');
    $('table tbody tr').each(function () {
        i += 1;
        $(this).prepend('<td>' + i + '</td>');
    });
});

答案 2 :(得分:1)

PHP

<tr>
  <th>Sr. No</th> // Add header for counter
  <th>Name</th>
  ...
</tr>

...
$i=1; // add counter -----------corrected-------------
while($info = mysql_fetch_assoc($result)){
  //data
  ...
  echo  "
    <tr>
      <td>$i</td> // include counter to table
      <td style=\"min-width: 87px;\">$name</td>
      ...
    </tr>
  ";
  $i++; // increment counter
}

答案 3 :(得分:1)

我会使用Atul Gupta列出的PHP解决方案。

要添加更多内容 - 您还可以根据您所在的页面开始迭代。

<?php

$i = ($page-1) * $itemsPerPage;
while(....)
{
    echo $i;
    $i++;
}
?>

如果您在列表的第二页上会得到类似11,12,13,14,......

的内容

答案 4 :(得分:1)

在SQL表中设置一个自动增量属性,可以用作索引,并在添加新条目时自动增加?