0

以下のような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>
4

3 に答える 3

1

を使用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>
于 2012-08-19T12:09:35.540 に答える
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."&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>
于 2012-08-19T12:11:51.627 に答える
1

CSSを使用するだけです:

t1 tr:最後の子{font-weight:bold;}

于 2012-08-19T12:11:54.287 に答える