我有一个类似于下面的PHP代码。我想把最后一行加粗。有可能吗?
<table border = "5">
<?php
if (isset($startdate) && isset($enddate) ){
$query = "storedprocedure '$startdate','$enddate','field1'";
$result = mssql_query($query);
while ($rows = mssql_fetch_array($result) ) {
echo "<tr><td>".$rows[0]." <td>".$rows[1]."
<td>".$rows[2]." <td>".$rows[3]."
<td>".$rows[4]." <td>".$rows[5]." ";
}
}
</table>
答案 0 :(得分:1)
我发现将数据复制到数组(或更好的对象)要好得多,然后在最后输出数据会使这些事情变得更容易。
在这种情况下,如果将数据放入数组中,则可以使用count()
之类的可爱内容来查看有多少行等。这样可以在显示循环中进行简单的检查以查看如果它是数组中的最后一个元素。
这应该有效:
<?php
if (isset($startdate) && isset($enddate))
{
$res=array();
$query = "storedprocedure '$startdate','$enddate','field1'";
$result = mssql_query($query);
while ($rows = mssql_fetch_array($result) )
{
$res[]=$rows;
}
}
?>
<table border = "5" id="1">
<?php
$numberRows=count(%res);
for($i=0;$i<$numberRows;$i++)
{
$boldStart="";
$boldEnd="";
if($i==($numberRows-1))
{
$boldStart="<B>";
$boldEnd="</B>";
}
echo "<tr><td>".$boldStart.$rows[$i][0].$boldEnd." </td><td>".$boldStart.$rows[$i][1].$boldEnd."
</td><td>".$boldStart.$rows[$i][2].$boldEnd." </td><td>".$boldStart.$rows[$i][3].$boldEnd."
</td><td>".$boldStart.$rows[$i][4].$boldEnd." </td><td>".$boldStart.$rows[$i][5].$boldEnd." </td>";
}
?>
</table>
答案 1 :(得分:1)
只需使用CSS:
t1 tr:last-child {font-weight:bold;}
答案 2 :(得分:0)
您可以使用mssql_num_rows()
获取查询返回的总行数,然后再循环查看(然后使用计数器),查看当前行是否为最后一行,然后应用您想要的任何样式:
<table border = "5">
<?php
if (isset($startdate) && isset($enddate) ){
$query = "storedprocedure '$startdate','$enddate','field1'";
$result = mssql_query($query);
$numRows = mssql_num_rows($result);
if ($numRows > 0) {
$counter = 0;
while ($rows = mssql_fetch_array($result) ) {
$style = ($counter++ == ($numRows - 1)) ? ' style="font-weight: bold;"' : '';
?>
<tr>
<td<?=$style;?>><?=$rows[0];?></td>
<td<?=$style;?>><?=$rows[1];?></td>
<td<?=$style;?>><?=$rows[2];?></td>
<td<?=$style;?>><?=$rows[3];?></td>
<td<?=$style;?>><?=$rows[4];?></td>
</tr>
<?
}
}
}
?>
</table>