0

我的问题是,如果 table 的值来自数据库,则 table 没有排序。

    $sql=("SELECT *,SUM(unit_cost*quantity) AS total_amount FROM procurement WHERE rfq LIKE '13-___' GROUP BY counter ORDER BY rfq");
    $result=mysql_query($sql);

    echo'<table id="tfhover" cellspacing="0" class="tablesorter">
            <thead>
            <tr>
                <th title="RFQ"></th>
                <th title="RFQ">RFQ #</th>
                <th title="Item Name">Item Name</th>
                <th title="Item Description">Description</th>
                <th title="Example : Pc, Pcs, Box and Etc.">Unit</th>
                <th title="Item Price">Unit Cost</th>
                <th title="Total Item Quantity">QTY</th>
                <th title="Total Price">Total Amount</th>

            </tr>
            </thead>';
    while($row = mysql_fetch_array($result)){
     echo'  <tbody>
                <tr>
                <td align="center"><a href="comments.php?pn='.$row["rfq"].'"><img src="images/remarks.png" border="0" width="10" height="10" title="Remarks and Notes"></a></td>
                <td>'.$row['rfq'].'</td>
                <td>'.$row['item_name'].'</td>
                <td>'.$row['item_description'].'</td>
                <td>'.$row['unit'].'</td>
                <td>'.number_format($row['unit_cost'], 2, '.', ',').'</td>
                <td>'.$row['quantity'].'</td>
                <td>'.number_format($row['total_amount'], 2, '.', ',').'</td></tr></tbody>';
            }
        echo "</table>";
    ?>

但是当 table 的值不是来自数据库时,它可以完美地工作。我应该怎么办?

        <tr>
            <th>Major</th>
            <th>Gender</th>
            <th>English</th>
            <th>Japanese</th>
            <th>Calculus</th>
            <th>Geometry</th>

        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Student01</td>
            <td>Languages</td>
            <td>male</td>
            <td></td>
            <td>70</td>
            <td></td>

        </tr>
        <tr>
            <td>Student02</td>
            <td>Mathematics</td>
            <td>male</td>
            <td>90</td>
            <td>88</td>
            <td></td>


        </tr>
        <tr>
            <td>Student03</td>
            <td>Languages</td>
            <td>female</td>
            <td>85</td>
            <td>95</td>
            <td>80</td>

        </tr>
    </tbody>
</table>

我从http://tablesorter.com/docs/获得了脚本

4

1 回答 1

2

把循环放在<tbody>外面。while

试试这个代码,

$sql=("SELECT *,SUM(unit_cost*quantity) AS total_amount FROM procurement WHERE rfq LIKE '13-___' GROUP BY counter ORDER BY rfq");
$result=mysql_query($sql);

echo'<table id="tfhover" cellspacing="0" class="tablesorter">
        <thead>
        <tr>
            <th title="RFQ"></th>
            <th title="RFQ">RFQ #</th>
            <th title="Item Name">Item Name</th>
            <th title="Item Description">Description</th>
            <th title="Example : Pc, Pcs, Box and Etc.">Unit</th>
            <th title="Item Price">Unit Cost</th>
            <th title="Total Item Quantity">QTY</th>
            <th title="Total Price">Total Amount</th>

        </tr>
        </thead>
        <tbody>';
while($row = mysql_fetch_array($result)){
 echo'<tr>
            <td align="center"><a href="comments.php?pn='.$row["rfq"].'"><img src="images/remarks.png" border="0" width="10" height="10" title="Remarks and Notes"></a></td>
            <td>'.$row['rfq'].'</td>
            <td>'.$row['item_name'].'</td>
            <td>'.$row['item_description'].'</td>
            <td>'.$row['unit'].'</td>
            <td>'.number_format($row['unit_cost'], 2, '.', ',').'</td>
            <td>'.$row['quantity'].'</td>
            <td>'.number_format($row['total_amount'], 2, '.', ',').'</td>
       </tr>';
}
echo "</tbody></table>";
于 2013-09-26T03:11:20.983 回答