只需在mssql_fetch_array中返回最后一行粗体即可


just return last row bold in mssql_fetch_array

我有一个类似于下面的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]."&nbsp;<td>".$rows[1]."&nbsp;
<td>".$rows[2]."&nbsp;<td>".$rows[3]."&nbsp;
<td>".$rows[4]."&nbsp;<td>".$rows[5]."&nbsp;";
}
}
</table>

在循环查询之前,您可以使用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>

我发现将数据复制到数组(或者更好的对象)要好得多,然后在最后输出数据会让这类事情变得更容易。

在这种情况下,如果您将数据放入一个数组中,那么您可以使用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."&nbsp;</td><td>".$boldStart.$rows[$i][1].$boldEnd."&nbsp;
        </td><td>".$boldStart.$rows[$i][2].$boldEnd."&nbsp;</td><td>".$boldStart.$rows[$i][3].$boldEnd."&nbsp;
        </td><td>".$boldStart.$rows[$i][4].$boldEnd."&nbsp;</td><td>".$boldStart.$rows[$i][5].$boldEnd."&nbsp;</td>";
    }
?>
</table>

只需使用CSS:

t1 tr:最后一个子{font-weight:bold;}