当值来自数据库时,表不排序

时间:2013-09-26 03:04:49

标签: javascript php mysql

我的问题是,如果表的值来自数据库,那么表没有排序。      

    $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>";
    ?>

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

        <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/

获得了剧本

1 个答案:

答案 0 :(得分: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>";